我的谷歌地图需要支持"越野"位置。
我想知道如何防止我的地图标记捕捉到道路。
地址从输入字段传递,lat和lng从标记的位置中提取。
function geoCodeLocation(address, lat, lng) {
geocoder.geocode(
{
"address" : address ? address : '',
"location" : new google.maps.LatLng(lat, lng)
},
/* ... */
}
您显示的代码非常少,所以我可能错过了重点,但地理编码通常执行以下两项操作之一:
- 您有一个 LatLng,您需要地址
- 您有一个地址,需要 LatLng
地理编码服务需要地址或位置,但不能同时提供两者。
您的代码看起来总是期望具有 LatLng 并且地址可能存在。如果使用 LatLng 调用地理编码器,它将返回一个地址。在这种情况下,将标记附加到道路上是有意义的。
另一方面,如果您有地址,则您返回的LatLng将基于该地址,因此将其附加到道路上也是有道理的。
但是,如果您始终拥有 LatLng,为什么不直接使用 LatLng 创建标记并跳过地理编码调用(特别是因为您不希望标记在路上(?
如果我偏离了目标,您能否为您的问题添加更多详细信息?