我可以使用地理编码创建一个以Niwot,CO为中心的Google Map . 如果我点击表格中的“编码”按钮(我从谷歌的网站上获得),它会在 Map 上的正确位置放置一个标记 .
我的问题是:如何使用javascript回调函数检索位置坐标(纬度和经度)?我需要把lat和long放到我的数据库中 .
此外,现在我只将它用于一个地方进行故障排除,但我需要它来处理多个地址 .
代码如下 .
var geocoder; var map; function initialize(){
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(40.171776, -105.116737);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress(){
var address ='Niwot,CO'; //这最终将是一个数组geocoder.geocode({'address':address},function(results){
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
//根据评论1添加以下代码;如何显示lat和lng?我需要这样做以进行故障排除 .
var latlng = results[0].geometry.location;
var lat = latlng.lat();
var lng = latlng.lng();
}); }
2 回答
您可以在地理编码调用中执行此操作
这将显示地址的纬度和经度 .
返回的位置是LatLng类的实例 . 您可以调用lat()来获取纬度,使用lng()来获取经度 . 例如
var latlng = results [0] .geometry.location; var lat = latlng.lat(); var lng = latlng.lng();
以下是相关文档:
http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng