0

我正在使用 CoffeeScript、Backbone.js 和 Google Maps API 对 lat / lng 进行反向地理编码

我有这个功能

  country: (origin, callback) ->
    @geocoder = new google.maps.Geocoder
    @geocoder.geocode(
        'latLng': origin,
        (results, status) => 
            if status is google.maps.GeocoderStatus.OK
              callback(result[6])
            else alert("Geocode was not successful for the following reason: " + status);
    )

当我调用它时,我使用:

@country(origin, (data) =>
   console.log(data.formatted_address)
)

顺便提一句:

origin = new google.maps.LatLng(origin_lat, origin_lng)

这不起作用,它甚至似乎都没有调用它。我有回调功能,(data)但无法让它工作......

谢谢

4

1 回答 1

0

不确定您问题的整体背景,但无论如何我都会尝试一下。

您定义国家/地区功能的方式通常是对象或地图的一部分。如果您只想要一个独立功能,请尝试:

country = (origin, callback) ->
   ...

然后在调用它时,尝试替换@country(...)country(...).

根据评论,您对地理编码的调用看起来也有问题。您需要创建一个 GeocoderRequest 实例并传递它而不是传递'latLng': origin对。不幸的是,我没有太多使用谷歌风格的 API,所以如果这是你真正的问题,我对你没有多大用处。

于 2012-06-09T17:57:30.813 回答