用户的当前位置标记仅在可定义的矩形内可单击(或可见)

时间:2012-07-30 03:43:47

标签: google-maps-api-3 geolocation markers clickable

另一位绝对的初学者......我已经建立了一个页面,用户可以对地图进行地理定位并在地图上放置标记。这很好。我还创建了一个矩形(主要用于ST_INTERSECTS和一个Fusion表 - 但这不是这个问题的一部分)。这也很好。我接下来想要实现的目的是使用户的位置标记仅出现或仅在可见的情况下(如果它在矩形内)(即,如果用户位于由矩形定义的区域内)。有一个简单的方法吗?感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

我将假设它是谷歌地图Javascript API第3版。

如果标记不可见,则无法单击,因此您只需将标记添加到地图即可满足您的两个条件。

首先,定义您的区域:

var sw = new google.maps.LatLng(...,...); // SW corner
var ne = new google.maps.LatLng(...,...); // NE corner
var bounds = new google.maps.LatLngBounds(sw,ne);

然后定义标记位置:

var mloc = new google.maps.LatLng(...,...);

然后看看它是否应该添加到地图中:

if (bounds.Contains(mloc)) { addMarker(mloc) }

请注意,addMarker()是您需要编写的函数,它不是API的一部分。