我基本上拥有一张显示简单Google标记的地图。
标记的位置存储在MySQL数据库中。现在我想使用MarkerCluster来整理事物。但是,我遇到了麻烦。虽然准则似乎很好(http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/docs/examples.html)但我真的无法让它发挥作用。
目前我的标记定义为:
// Change this depending on the name of your PHP file
GDownloadUrl("gen.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, name, address, type);
map.addOverlay(marker);
}
});
}
}
现在在MarkerCluster的示例中,我应该像这样定义我的标记:
var markers = [];
for (var i = 0; i < 100; ++i) {
var latlng = new GLatLng(data.photos[i].latitude, data.photos[i].longitude);
var marker = new GMarker(latlng);
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers);
但是我不知道如何将这两者结合起来。标记已经定义,我没有看到如何调用markerCluster,也不了解如何将数据导入示例中的标记。
任何指针都赞赏。 感谢。
乔治
答案 0 :(得分:0)
// Change this depending on the name of your PHP file
GDownloadUrl("gen.php", function(data) {
var xml = GXml.parse(data);
var clusteredmarkers = [];
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, name, address, type);
clusteredmarkers.push(marker);
}
var markerCluster = new MarkerClusterer(map,clusteredmarkers);//this also add the cluster to the map
});
答案 1 :(得分:0)
问题解决了。谢谢。但是,我最终将所有内容移植到v3。 “如果你这样做,那就做好吧。”
谢谢,阅读!