如何防止地图标记对齐到道路

时间:2012-05-22 03:14:05

标签: google-maps google-maps-api-3

我的Google地图需要支持“越野”地点。

我想知道如何防止我的地图标记卡入道路。

地址从输入字段和lat& lng从标记的位置提取。

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

}

1 个答案:

答案 0 :(得分:3)

您展示的代码非常少,所以我可能错过了这一点,但Geocoding通常会执行以下两项操作之一:

  1. 你有一个LatLng,你需要地址
  2. 您有一个地址,需要LatLng
  3. GeocodingService需要地址或位置,但不是

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

    另一方面,如果你有一个地址,你回来的LatLng将基于地址,所以它也会被附加到路上。

    但是如果你总是拥有LatLng,为什么不用LatLng创建标记并跳过地理编码调用(特别是因为你不希望标记在路上)?

    如果我不合适,您能否为您的问题添加更多详细信息?

相关问题