【问题标题】:Google Maps Marker Clustering - markerclusterPlus谷歌地图标记聚类 - markerclusterPlus
【发布时间】:2012-01-10 09:30:32
【问题描述】:

基于 xml 文件,我想在地图上设置 markerclusterer。

我使用 markerclusterPlus 版本 3! http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/

问题是,不会显示任何标记,我不知道为什么

ma​​rkers.xml

<?xml version="1.0"?>
<markers>
    <marker>
        <name>Heineken Amsterdam</name>
        <address>Joop Geesinkweg 5</address>
        <city>Amsterdam</city>
        <postcode>1096 AT</postcode>
        <lat>52.3354</lat>
        <lng>4.92938</lng>
         </marker>
</markers>

index.php

<html>
<head>
<title>Google Maps Integration</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="js/markerclusterer.js"></script>
<style type="text/css">
#map {
      width: 675px;
      height: 659px;
      }
</style>
<script type="text/javascript">
function initialize() {
        var filename = "markers.xml";
        var center = new google.maps.LatLng(51.918, 4.47663);

        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 7,
          center: center,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        var markers = []; // array markers
        $.get(filename, function(xml){
            $(xml).find("marker").each(function(){ // get each marker position
                var name = $(this).find('name').text();
                var address = $(this).find('address').text();
                // create a new LatLng point for the marker
                var lat = $(this).find('lat').text();
                var lng = $(this).find('lng').text();
                var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
                var marker = new google.maps.Marker({
                    position: point,
                    map: null,
                    html: '<b>'+name+'</b><br>'+address
                });     

                markers.push(marker); // push marker to markers array
            });
        });
        var markerCluster = new MarkerClusterer(map, markers); // create marker clusterer
      }
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>

【问题讨论】:

  • 什么是MYMAP.map?如果您在集群器中显示标记,则不应将它们分配给任何地图,因此 map: null
  • 是的,我改了!但地图上仍然没有标记

标签: javascript google-maps-api-3 markerclusterer


【解决方案1】:

尝试在 $(xml).find("marker").each(function() 之前插入这一行:

 var xml = parseXml("<div>" + xml + "</div>");

【讨论】:

    猜你喜欢
    • 2012-12-17
    • 2013-01-08
    • 2014-04-05
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多