我正在尝试在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。这将返回具有业务地址,位置,名称等的对象。
希望这有助于某人:)
答案 0 :(得分:2)
我对Geocode API的作用有些困惑。再次阅读requests的API。
所需参数为address
或latlng
或components
和sensor
。
可选参数为bounds
,language
,region
和components
。
Premise
是returned JSON data的属性之一。这意味着您不能将其用作搜索参数,这就是API抱怨的原因。
您链接的问题的答案是错误。
希望这有用。