我已阅读,阅读和阅读,但我无法弄清楚这一点。我有一系列的lats和一个数组lngs。我需要能够将值传递给数组中的新google.maps.LatLng()。看起来这样可行:
new google.maps.LatLng(lats[0], lngs[0])
但事实并非如此。我无法弄清楚如何使这项工作。帮助
以下是数组的创建方式:
<script type="text/javascript">
var lats = [];
var lngs = [];
function initialize() {
var geo = new google.maps.Geocoder;
var address = "<?php echo $arrayAddress; ?>";
geo.geocode({'address':address},function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
lats.push(results[0].geometry.location.lat());
lngs.push(results[0].geometry.location.lng());
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
如果我是console.log(lat [0])我得到了预期的结果。
这是我正在尝试创建new.google.mapsLatLng()的地方:
<script type="text/javascript">
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(lats[0], lngs[0])
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
这是在wordpress的循环之外。地理编码器部分位于循环内部。我正在为循环中的所有帖子地址编码并将坐标移动到该数组中,然后将坐标数组作为标记放在循环外部的地图上。
答案 0 :(得分:1)
var locat = new google.maps.LatLng(34,74);
geocoder = new google.maps.Geocoder();
var mapOptions = {
zoom: 11,
center: locat,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById(divID), mapOptions);