从MySQL数据库中提取坐标后聚类Google Maps Marker

时间:2011-07-25 14:28:28

标签: php mysql html google-maps-api-3

我基本上拥有一张显示简单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,也不了解如何将数据导入示例中的标记。

任何指针都赞赏。 感谢。

乔治

2 个答案:

答案 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。 “如果你这样做,那就做好吧。”

谢谢,阅读!