Google Maps API地理编码多个地点 [英] Google Maps API Geocoding Multiple Locations
问题描述
我已经设置了一些js代码来对某些位置和地点进行地理编码,而不是在地图上进行地理编码。我可以轻松地完成一个位置,但我无法在两个位置上工作。我的工作代码位于下方,但仅适用于一个位置。
var geocoder = new google.maps.Geocoder();
var address =Melbourne;
geocoder.geocode({'address':address},function(results,status){
var latitude = results [0] .geometry.location.lat() ;
var longitude = results [0] .geometry.location.lng();
初始化(经度,纬度);
}) ;
函数初始化(经度,纬度){
var latlng1 = new google.maps.LatLng(纬度,经度);
var myOptions = {
zoom:2,
panControl:false,
zoomControl:false,
mapTypeControl:false,
streetViewControl: false,
center:latlng1,
mapTypeId:google.maps.MapTypeId.ROADMAP,
mapTypeControl:false,
scrollwheel:false,
};
var map = new google.maps.Map(document.getElementById(google-container),myOptions);
var marker = new google.maps.Marker({
position:latlng1,
map:map,
});
}
我试着在下面添加第二个,但我明显缺少有些事情。正如你可能猜测我是JavaScript新手。
var geocoder = new google.maps.Geocoder();
var address =Seoul;
var address2 =墨尔本;
geocoder.geocode({'address':address},function(results,status){
var latitude = results [0] .geometry.location.lat() ;
var longitude = results [0] .geometry.location.lng();
var latitude2 = r
初始化(纬度,经度);
});
geocoder.geocode({'address':address2},function(results,status){
var latitude2 = results [0] .geometry.location.lat() ;
var longitude2 = results [0] .geometry.location.lng();
var latitude2 = r
初始化(纬度2,经度2);
});
函数初始化(经度,纬度){
var latlng1 = new google.maps.LatLng(纬度,经度);
var latlng2 = new google.maps.LatLng(latitude2,longitude2);
var myOptions = {
zoom:2,
panControl:false,
zoomControl:false,
mapTypeControl:false,
streetViewControl: false,
center:latlng1,
mapTypeId:google.maps.MapTypeId.ROADMAP,
mapTypeControl:false,
scrollwheel:false,
};
var map = new google.maps.Map(document.getElementById(google-container),myOptions);
var marker = new google.maps.Marker({
position:latlng1,
map:map,
});
var marker2 = new google.maps.Marker({
position:latlng2,
map:map,
});
}
任何想法都会受到欢迎!
<解决方案此解决方案适用于两个,也许多达10个位置,然后您将开始运行查询和速度限制在 Geocoder
- 分开初始化函数只是初始化地图为每个位置创建一个唯一的地理编码器实例(您可以在回调中重复使用相同的地理编码器实例,不值得用于两点) 。
/ code>