2012-05-16 76 views
0

我已经在谷歌地图上放置了大约3百个标记,并且我还需要用Cirlce标出一些区域。所以我在地图上放了3个圆圈。我只想在圆圈内显示标记,而不是在圆圈外面。圆圈可以放在任何地方(比如固定半径)和标记都应该放在圆圈内。所有的标记和放置圈都在javascript中。我是新的毕业生,新的JavaScript。谷歌地图上的标记

Pradi

我画圈的部分。

 for (var i = 0; i < ltlg.length; i++) { 

    var marker = new google.maps.Marker({ 
     map: map, 
     position: ltlg[i], 
     visible: false 
    }); 

    var circle = new google.maps.Circle({ 

     map: map, 
     radius: 10 * 55000, 
     fillcolour: '#AA0000' 

    }); 

    circle.bindTo('center', marker, 'position'); 
} 

其中ltlg [i]是包含3个lats和long的数组。

和部分在哪里庆祝

for (var i = 0; i < ltlg1.length; i++) { 

     // var detail = cityDetails[i]; 
     var markerSnowFall = new google.maps.Marker({ 
      map: map, 
      icon: Image, 
      position: ltlg1[i] 

     }); 

这里ltlg1 [I]含有约300百拉特和多头。

问题是我不知道如何在标记和放置圆圈之间建立连接,目前两者(标记使用ltlg1 [i]和标记使用ltlg [i])使用不同的数组。

+0

请张贴一些代码,所以我们可以看到你自己做了什么努力来解决这个问题,并知道从哪里开始帮助你。 – sirmdawg

+0

感谢您回复mkprogramming。 我已经发布了代码。如果您对此有所了解,请告诉我。 – Pradi

回答

0

要么做一个循环,每个标志物检查,如果到圆心的距离是指该标志是圆内,它们只显示适合此

或标记,如果你现在的样子在地图上放置标记支持它,只发送应该绘制的标记(例如,在之前的项目中,我们在db中标记位置,我们可以查询圆圈内的所有标记)

+0

感谢您答复Jontas,第二部分,你说查询分贝是不可能的。因为我没有连接到数据库。我标记的所有lats和long都在数组中,并且存在循环,我在该数组的每个元素上放置标记。计算距离的第一部分似乎是一个很好的方法,但可以用一个例子详细说明一下 – Pradi

+0

请查看http://www.movable-type.co.uk/scripts/latlong.html或http: //stackoverflow.com/questions/27928/how-do-i-calculate-distance-between-two-latitude-longitude-points – Jontas

+0

好吧。谢谢,我会检查这些链接。 – Pradi