【问题标题】:User's current location marker only clickable (or visible) if it is within a defined rectangle用户的当前位置标记只有在定义的矩形内时才可点击(或可见)
【发布时间】:2012-07-30 03:43:46
【问题描述】:

这里的另一个绝对初学者...我已经建立了一个页面,可以对用户进行地理定位并在地图上放置一个标记。这很好用。我还创建了一个矩形(主要用于 ST_INTERSECTS 和 Fusion Table - 但这不是这个问题的一部分)。这也很好用。我接下来要实现的是使用户的位置标记要么只出现,要么只在它在矩形内时才可点击(要么会这样做) - 即如果用户在矩形定义的区域内。有没有一种简单的方法可以做到这一点?感谢您的任何建议。

【问题讨论】:

  • 您使用的是什么 api,谷歌地图 v3?输入您的问题很好,但您也可以发布您的代码以及您如何尝试解决您的问题。

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


【解决方案1】:

我假设它是 Google Maps 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 的一部分。

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多