php-Google Maps API 3-地理编码无法正常运行
作者:互联网
这是我当前的代码(我觉得问题出在我的codeAddress函数中):
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>`
<script>
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
function codeAddress() {
var address = document.getElementById("address").text;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
google.maps.event.addDomListener(window, 'load', codeAddress);
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas" style="width: 100%; height: 320px;" ></div>
<div id="address">92867</div>
我要做的是在页面加载时,将通过PHP填充地址.我希望codeAddress与填充的地址一起运行.如何调整此脚本以替换此var latlng = new google.maps.LatLng(-34.397,150.644);使用我指定地址的正确代码.
解决方法:
>删除
google.maps.event.addDomListener(window, 'load', codeAddress);
并添加以下内容:
codeAddress()
到initialize()的末尾,以确保在codeAddress()时已创建映射;将被执行
>替换此行:
var address = document.getElementById("address").text;
通过该行:
var address = document.getElementById("address").firstChild.data;
< div />没有文本属性.
标签:google-maps,google-maps-api-3,javascript,php 来源: https://codeday.me/bug/20191122/2063605.html