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