代码之家  ›  专栏  ›  技术社区  ›  sideroxylon

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

  •  0
  • sideroxylon  · 技术社区  · 13 年前

    这里又是一个绝对的初学者。。。我已经建立了一个页面,可以对用户进行地理定位,并在地图上放置标记。这很好。我还创建了一个矩形(主要用于ST_INTERSECTS和Fusion表,但这不是问题的一部分)。这也很好。我接下来试图实现的是,如果用户的位置标记在矩形内(两者都可以),即用户的位置标志在矩形定义的区域内,则仅显示或可点击。有简单的方法吗?谢谢你的建议。

    1 回复  |  直到 13 年前
        1
  •  1
  •   Andrew Leach    13 年前

    我假设它是谷歌地图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的一部分。