我一直在寻找几个小时但找不到解决方案。我的标记代码非常简单(从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"> </div></div>
答案 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 ***
});