Google 地方信息获取 LatLng
Posted
技术标签:
【中文标题】Google 地方信息获取 LatLng【英文标题】:Google Places get LatLng 【发布时间】:2013-02-25 05:43:15 【问题描述】:我正在使用自动完成方法来获取地点建议,当我点击我想要选择的地点时,我想提取位于place.geometry.location
下的Lat
和Lng
,如下所示。
根据我的观察,键 ib
和 jb
在每次会话中都会不断变化。有什么方法可以提取出Lat
和Lng
?
$(document).ready(function()
var mapOptions =
center : new google.maps.LatLng(-33.8688, 151.2195),
zoom : 13,
mapTypeId : google.maps.MapTypeId.ROADMAP
;
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
$('#searchTextField').bind('keydown keypress', function()
setTimeout(function()
var inputQuery = $('#searchTextField').val();
if (inputQuery.length >= 2)
//console.log(inputQuery);
/*
var service = new google.maps.places.AutocompleteService();
service.getPlacePredictions(
input : inputQuery
, callback);
*/
var input = document.getElementById('searchTextField');
var options =
types : ['geocode']
;
var autocomplete = new google.maps.places.Autocomplete(input, options);
// Acting on Selecting a place
google.maps.event.addListener(autocomplete, 'place_changed', function()
//infowindow.close();
var place = autocomplete.getPlace();
console.log(place);
console.log(place.formatted_address);
console.log(place.name);
console.log(place.geometry.location);
console.log(place.geometry.location[0]);
// Show the map to the current location selected
if (place.geometry.viewport)
map.fitBounds(place.geometry.viewport);
else
map.setCenter(place.geometry.location);
map.setZoom(17);
// Why 17? Because it looks good.
var marker = new google.maps.Marker(
position : place.geometry.location,
map : map,
draggable : true,
);
$.each(place.geometry.location, function(key, value)
console.log(key + ": " + value);
);
);
, 0);
);
);
【问题讨论】:
【参考方案1】:place.geometry.location
是一个LatLng
,所以你可以调用它的.lat()
和.lng()
方法。
var location = place.geometry.location;
var lat = location.lat();
var lng = location.lng();
您会看到这些方法存在于您对该对象的检查中。
切勿使用未记录的属性,例如您发现的 ib
和 jb
。 Google 使用 Closure Compiler 或类似工具编译 Maps API,为私有属性和变量生成随机名称。
【讨论】:
很高兴,我很高兴这对您有所帮助。 我正在使用places webservice api,如何从响应中获取lat long? 这里的位置变量是什么我收到错误消息。以上是关于Google 地方信息获取 LatLng的主要内容,如果未能解决你的问题,请参考以下文章