如何防止地图标记捕捉到道路



我的谷歌地图需要支持"越野"位置。

我想知道如何防止我的地图标记捕捉到道路。

地址从输入字段传递,lat和lng从标记的位置中提取。

function geoCodeLocation(address, lat, lng) {
    geocoder.geocode( 
    { 
        "address" : address ? address : '', 
        "location" : new google.maps.LatLng(lat, lng) 
    },
     /* ... */
}

您显示的代码非常少,所以我可能错过了重点,但地理编码通常执行以下两项操作之一:

  1. 您有一个 LatLng,您需要地址
  2. 您有一个地址,需要 LatLng

地理编码服务需要地址或位置,但不能同时提供两者

您的代码看起来总是期望具有 LatLng 并且地址可能存在。如果使用 LatLng 调用地理编码器,它将返回一个地址。在这种情况下,将标记附加到道路上是有意义的。

另一方面,如果您有地址,则您返回的LatLng将基于该地址,因此将其附加到道路上也是有道理的。

但是,如果您始终拥有 LatLng,为什么不直接使用 LatLng 创建标记并跳过地理编码调用(特别是因为您不希望标记在路上(?

如果我偏离了目标,您能否为您的问题添加更多详细信息?

最新更新