谷歌地图上的自定义标记

3

我有一个预定义的谷歌地图,上面有大约6k个标记。如果我需要为它们制作自定义标记,该怎么办?例如,如果在1平方厘米中有10个以上的点,则放置marker_1;如果有50个以上的点,则放置marker_2等等。最后,我需要在这个自定义标记中打印出点的数量。

1个回答

2
粘贴一个演示它的代码。
 <script type="text/javascript">
  function initialize() {
      var locations = 
       [
            ['Sugar Grove', 41.7696, -88.4588],
           ['Coogee Beach', -33.923036, 151.259052],
            ['Cronulla Beach', -34.028249, 151.157507],
            ['Manly Beach', -33.80010128657071, 151.28747820854187],
             ['Tel Aviv', 32.067, 34.767]
      ];



      var map = new google.maps.Map(document.getElementById('map'), {
                                 zoom: 3,
                                center: new google.maps.LatLng(--putHereCenterVar-->),
                                 mapTypeId: google.maps.MapTypeId.ROADMAP
                            });



            var opt = { minZoom: 2, maxZoom:18  };
            map.setOptions(opt);
            var markers = [];
            var len=LocationLength.Length;
            var i;
            for (i = 0; i < len; i++) {
                var dataValue = locations[i];
                var latLng = new google.maps.LatLng(dataValue[1],dataValue[2]);
                var marker = new google.maps.Marker({position: latLng});
                markers.push(marker);
            }



            var markerCluster = new MarkerClusterer(map, markers);
        }


        google.maps.event.addDomListener(window, 'load', initialize); 

这段代码演示了如何在Google地图中添加聚类功能,请尝试将其添加到您的代码中。 “Location”是带有标记位置的二维数组,“MarkerClusterer”是使许多点看起来像一个大标记且具有数量的实例对象。
不要忘记声明:
 <script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer_compiled.js" type="text/javascript"></script>


    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/tags/markermanager/1.0/src/markermanager.js"></script>
    <script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer_compiled.js"></script>

希望这能帮到您。

如果我理解正确的话,我需要对我大约有6k+个位置进行变量声明,这几乎是不可能的。如果我错了,请纠正我。 - Avdept
这并非不可能,在我的应用程序中有10k-90k,是完全可行的。调用一个后台函数/参数,该函数会从数据表中获取一个长字符串并且它能工作。 - David Rasuli
谢谢,顺便说一句,如果这个解决方案解决了您的问题,我会很感激,如果您能在我的问题上打一个“V”表示解决。 :) - David Rasuli
你的答案附近有一个空白的“V”。在StackOverFlow上,通常会在回答有帮助的情况下标记V,以便其他人也能从解决方案中受益。 - David Rasuli
谢谢,如果您需要关于任何事情的进一步信息,请随时给我发送消息。 - David Rasuli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接