标记不显示在谷歌地图
Markers not showing up in Google Map
我刚开始制作谷歌地图,标记不会显示,你能看到什么问题吗?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Multiple Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var xmlDoc;
if (window.XMLHttpRequest)
{
xmlDoc=new window.XMLHttpRequest();
xmlDoc.open("GET","locations.php",false);
xmlDoc.send("");
xmlDoc=xmlDoc.responseXML;
}
// IE 5 and IE 6
else if (ActiveXObject("Microsoft.XMLDOM"))
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("locations.php");
}
var pins = xmlDoc.getElementsByTagName("pin");
for (i=0;i<pins.length;i++)
{
var point = new GLatLng( pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue,
pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue);
var colord;
var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;
if(curgender == "Male")
{colord = blueOpt;}else if(curgender=="Female"){colord = pinkOpt;}else{colord = purpleOpt;}
var marker = new GMarker(point, colord);
var mess = pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;
createMarker(marker,mess);
map.addOverlay(marker);
}
function createMarker(marker, mess) {
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(mess);
});
}
</script>
</body>
</html>
XML <xml>
<pin>
<lat>-33.890542</lat>
<lon>151.274856</lon>
<gender>Male</gender>
<message>This is message 1</message>
</pin>
<pin>
<lat>-33.923036</lat>
<lon>151.259052</lon>
<gender>Female</gender>
<message>This is message 2</message>
</pin>
</xml>
您有一个v2和v3代码的混合物。地图是用版本3创建的,而Marker使用的是v2代码。
我假设你想使用v3,因为v2是折旧的。
试试这个:
var infoWindow = new google.maps.InfoWindow({});
for (i=0;i<pins.length;i++)
{
var point = new google.maps.LatLng(
pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue,
pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue
);
var colord;
var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;
if(curgender == "Male"){
colord = blueOpt; //I assume these are different marker icons?
}else if(curgender=="Female"){
colord = pinkOpt;
}else{
colord = purpleOpt;
}
var marker = new google.maps.Marker({
position: point
icon: colord
});
var mess = pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;
createMarker(marker,mess);
marker.setMap(map);
}
function createMarker(marker, mess) {
google.maps.event.addListener(marker, "click", function (event) {
infoWindow.setContent(mess);
infoWindow.open(map, this);
});
}
相关文章:
- 谷歌地图显示灰色方框
- 无法让谷歌地图显示在我的网站上
- 双击谷歌地图显示提示框不起作用
- 谷歌地图显示钦奈(印度)使用javascript
- 当缩放级别为 1 时,谷歌地图显示 kml(内部是图像 URL)不正确
- 谷歌地图显示没有jQuery
- 谷歌地图显示问题
- 谷歌地图显示KML数据
- 谷歌地图显示新请求后的旧方向
- 谷歌地图显示什么,直到我最小化屏幕
- 谷歌地图显示多个地图而不是一个
- 为什么谷歌地图显示灰色,而没有初始化缩放&当使用jQuery按钮更改缩放时,居中,地图上的居中效果非常好
- 谷歌地图显示标题的信息框
- 当mysql提供十进制纬度和经度时,谷歌地图显示错误的地图
- 谷歌地图-显示基于缩放级别的融合表图层
- 如何包括谷歌地图显示的地方,如医院和餐馆在单独的地图在同一页
- 谷歌地图显示未捕获的错误:达到10次$digest()迭代.流产!角的应用
- 谷歌地图显示不同颜色的替代道路
- 不能让谷歌地图显示在wordpress页面上
- 谷歌地图显示最近的数据库标记到我的位置