谷歌地图地理编码:未知的财产前提

时间:2014-02-06 12:56:33

标签: javascript google-maps google-maps-api-3 google-maps-markers google-geocoding-api

我正在尝试在Google地图上的建筑物/场所添加标记,为此我正在使用Geocoding API。我通过请求地址来测试它并且它工作得很好。

var address = "...";
var geocoder = new google.maps.Geocoder();
geocoder.geocode( {'address': address }, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    var location_marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
    });
  }
});

根据Geocoding API,您可以使用premise属性请求building/premise,但在使用premise时,我收到JavaScript错误Uncaught InvalidValueError: unknown property premise

这就是我要求premise属性的方式:

var premise = "...";
var geocoder = new google.maps.Geocoder();
geocoder.geocode( {'premise': premise }, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    var location_marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
    });
  }
});

我按照了question

给出的答案

以前不确定是否有人遇到此问题。也许还有另一种解决方法。

更新

如果有人偶然发现此问题,要搜索Google地图上的商家/地点,您可以使用Places Library。这将返回具有业务地址,位置,名称等的对象。

希望这有助于某人:)

1 个答案:

答案 0 :(得分:2)

我对Geocode API的作用有些困惑。再次阅读requests的API。

所需参数为addresslatlngcomponentssensor

可选参数为boundslanguageregioncomponents

Premisereturned JSON data的属性之一。这意味着您不能将其用作搜索参数,这就是API抱怨的原因。

您链接的问题的答案是错误

希望这有用。