0

我一直在寻找几个小时,但找不到解决方案。我的标记代码非常简单(从 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>
4

1 回答 1

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 ***
});
于 2012-06-27T00:59:05.937 回答