【问题标题】:Why is my Google marker not showing up?为什么我的 Google 标记没有显示?
【发布时间】:2013-07-04 11:01:20
【问题描述】:
<html>
    <head>
        <script src="http://maps.googleapis.com/maps/api/js?key=MYKEY&sensor=false"></script>
        <script>
            var myCenter = new google.maps.LatLng(parseFloat(my_lat_echoed_from_php), parseFloat(my_lng_echoed_from_php));
            function initialize() {
                var mapOptions = {
                    center:myCenter,
                    zoom:6, 
                    mapTypeId:google.maps.MapTypeId.ROADMAP
                };

                var map = new google.maps.Map(document.getElementById("googleMap"),mapOptions);
                var marker = new google.maps.Marker({
                    position: myCenter,
                    map: map,
                    title: 'Hello World!'
                });
            }
            google.maps.event.addDomListener(window, 'load', initialize);
        </script>
    </head>
    <body>
        <div id="googleMap" style=" width:50%; height:500px; border:3px solid black; margin: 0 auto;"></div>
    </body>
</html>

它从我的数据库中正确获取纬度和经度,并将其放在正确的位置,但没有显示任何标记。我为这个 HTML 页面添加了locations_show.php。除了标记,一切正常。

【问题讨论】:

  • 您的浏览器错误控制台中有任何错误吗?您的myCenter LatLng 点正确地将地图置于您所在位置的中心(这表明您的 PHP 坐标输出正确)?
  • 是的。自从我开始使用 Google 地图以来,我的控制台中一直出现此错误:“未捕获的类型错误:类型错误”。我什么都没想,因为一切都很好(除了我尝试使用标记时)。
  • 其实我刚刚修好了。我发现了这个:stackoverflow.com/questions/17324072/… 并在我的标记选项中添加了优化:false

标签: php google-maps-markers


【解决方案1】:

按照this answer 的建议,我将optimized: false 添加到我的标记选项中。

改变了这个:

 var marker = new google.maps.Marker({
    position: myCenter,
    map: map,
    title: 'Hello World!'
});

收件人

var marker = new google.maps.Marker({
    position: myCenter,
    map: map,
    optimized: false,
    title: 'Hello World!'
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-17
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2019-04-28
    • 2016-04-11
    相关资源
    最近更新 更多