php - Google Maps API 3 - 地理编码无法正常工作

标签 php javascript google-maps 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); 替换为我指定地址的正确代码。

最佳答案

  1. 删除
    google.maps.event.addDomListener(window, 'load', codeAddress);
    并添加:
    codeAddress()
    initialize() 结束时,确保 codeAddress(); 执行时 map 已经创建

  2. 替换此行:
    var address = document.getElementById("address").text;
    通过那条线:
    var address = document.getElementById("address").firstChild.data;
没有文本属性

关于php - Google Maps API 3 - 地理编码无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18129154/

相关文章:

php - 如何向用户显示捕获的错误,避免这些常见的陷阱?

android - 如何在 React Native 中离线使用谷歌地图

安卓 : Google map showing multi location

php - Symfony2 双嵌套动态表单字段

PHP从mysql获取2个数字之间的数据

PHP POST 到 URL,用户被重定向

css - 当没有打开 Javascript 时。还有什么解决办法?

javascript - 正则表达式帮助 : why does this output include duplicates?

javascript - 根据组属性将对象的平面数组转换为嵌套数组

javascript - 将 google map 自动完成功能与 jquery 自动完成功能集成