【问题标题】:Cluster Google Maps Marker after pulling coordinates from MySQL Database从 MySQL 数据库中提取坐标后集群 Google Maps Marker
【发布时间】:2011-10-12 15:48:35
【问题描述】:

我基本上拥有的是一个显示简单 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 是如何被调用的,我也不明白如何将数据放入示例中的标记中。

任何指针表示赞赏。 谢谢。

乔治

【问题讨论】:

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


    【解决方案1】:
    // 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
    });
    

    【讨论】:

    • 谢谢!但现在我只得到一张空地图。没有标记,最重要的是没有集群。 :-/
    • 我需要什么花哨的东西才能让这一切顺利进行吗?带有标记的地图有效,我看不到聚集的东西。有人可以发布一个适合他/她的完整页面,所以我可以看看我的问题是什么?谢谢!
    【解决方案2】:

    问题解决了。谢谢。但是,我最终将所有内容都移植到了 v3。 “如果你做到了,那就做对吧。”

    感谢阅读!

    【讨论】:

      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 2021-03-21
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 2012-04-23
      • 2017-08-03
      相关资源
      最近更新 更多