未显示Google Maps API v3标记

时间:2012-06-26 23:48:13

标签: drupal google-maps-api-3 markers

我一直在寻找几个小时但找不到解决方案。我的标记代码非常简单(从api文档中获取)但我似乎无法将标记显示在我的网站上。地图本身渲染得很好(密钥包含在实际代码中),但没有标记。

任何帮助将不胜感激。谢谢!

网站:http://ath-uterwinctr.its.utexas.edu/about/location

网站引用的文件中的代码(gmap.js):

$(document).ready(function(){
var myLatLng = new google.maps.LatLng(30.27639, -97.732422);
var myOptions = {
    center: myLatLng,
    zoom: 16,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-erwincenter"),
        myOptions);
    var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: "Frank Erwin Center"
    });
});

网站代码引用gmap.js:

<?php
drupal_add_js('sites/all/themes/delphic/js/gmap.js');
drupal_set_html_head('<script type="text/javascript" 
src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>'); ?>

<div id="map-frame"><div id="map-erwincenter">&nbsp;</div></div>

1 个答案:

答案 0 :(得分:1)

我查看了您的直播来源,您需要删除该行marker.setMap()。标记已经在您的地图中使用上面定义的map: map属性。

调用setMap必须以marker.setMap(map)方式完成,但由于map: map位于选项中,因此它是多余且不必要的。我认为现在正在发生的事情setMap()被解释为setMap(null),效果正在移除您的标记。

http://ath-uterwinctr.its.utexas.edu/sites/default/files/js/js_40f5a94093acf14755eb100d58a7a838.js

第1245行

$(document).ready(function(){
    var myLatLng = new google.maps.LatLng(30.27639, -97.732422);
    var myOptions = {
        center: myLatLng,
        zoom: 16,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map-erwincenter"),
            myOptions);
    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        title: "Frank Erwin Center"
    });
    marker.setMap();  // <-- *** This line should disappear ***
});