我打电话的时候
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]
Run Code Online (Sandbox Code Playgroud)
我得到一组结果,其中next_page_token可用
现在,如果我这样做
https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=42.9825,-81.254&radius=50000&name=Medical%22Clinic&sensor=false&key=[KEY GOES HERE]&next_page_token=[NEXT PAGE TOKEN GOES HERE]
Run Code Online (Sandbox Code Playgroud)
我得到的结果与第一个查询相同,而不是下一组结果
我想开发一个地图应用程序,它将显示给定地点附近的银行.
我使用Places库进行搜索,每次只返回20个结果.如果我想要更多结果,我该怎么办?
我正在测试Google商家信息自动填充功能:
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
我想得到这个地方的经纬度,但我遇到了一些麻烦.当我使用以下代码时:
var place = autocomplete.getPlace();
console.log(place.geometry.location);
Run Code Online (Sandbox Code Playgroud)
我得到了这个回复:

当我在这样的infoWindow中使用它时:
infowindow.setContent('
<div><strong>' + place.name + '</strong><br>' + place.geometry.location);
Run Code Online (Sandbox Code Playgroud)
place.geometry.location 然后显示如下:
(53.539834,-113.49402099999998)
我想做的就是分别得到lat和lng.place.geometry.location.lat不起作用.不知道还能做什么.
我已经从Google控制台生成了用于Places API密钥的服务器密钥.但每当我点击服务时,我都会收到"提供的API密钥已过期"错误.
我已经尝试重新生成密钥但仍然出现相同的错误.
我一直在互联网上试图找到我的问题的答案,我找到答案的最接近的是另一个Stack Overflow问题,这里:我如何更改Google Maps API地方自动填充中的默认文本
问题是OP要么与我自己没有完全相同的要求,要么他们没有明确说明他们是否这样做.
我正在寻找一种在文本输入字段中采用默认"输入位置"的方法,并在保持相同功能的同时将其替换为其他内容.即,文本在焦点上消失,如果没有输入文本则在失去焦点时重新出现.
在我目前的尝试中,我试图使用jQuery插件替换文本.它在页面加载时可视化,但单击时,会再次弹出"输入位置",并在输入文本时消失,或输入失去焦点(而不是文本输入字段按预期变为空白).
谁能在这里给我一个指针?
提前致谢.
javascript jquery google-maps google-maps-api-3 google-places-api
我试图找到所有"餐馆"或"保险机构",例如,在城市或国家.好吧,也许一个国家太广泛但主要是大城市.
我正在使用Google Places API和python,但我发现您只能使用"radius"参数或"rankby = distance".问题在于,根据文档,我相信每个查询只能在3个页面上返回20个结果,或者60个结果(如果我错了,请纠正我).因此,如果我想找到纽约的所有餐厅,我必须从中心或其他地方开始并设置"rankby = distance",这样它就能在给定半径范围内得到60个最接近的结果.但后来我不知道我的下一个查询是什么......
任何想法如何去做?
我一直在研究这个问题几个小时试图弄清楚为什么所谓的简单自动完成没有出现.
事实证明,在我的代码中,输入元素被设置为autocompete="off",而pac-container上的样式是display: none.
我可以在DevTools中更改这些值,并且它工作正常,但我无法弄清楚这些值是如何或为何设置为这些值.
我的自动完成功能是在Angular Directive中设置的,就像这样,loadGmaps获取google api.
template: '<input id="google_places_ac" name="google_places_ac" type="text" class="input-block-level"/>',
link: function($scope, elm, attrs){
loadGmaps().then(function(){
var autocomplete = new google.maps.places.Autocomplete($("#google_places_ac")[0], {});
console.log(autocomplete);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
$scope.position = {
lat: place.geometry.location.lat(),
lon: place.geometry.location.lng()
};
$scope.$apply();
});
});
---------------------更新---------------------------- ------------------
希望没有其他人误入歧途,这autocomplete="off"有点误导.即使使用autocomplete="off",自动完成仍然有效,所以这不是问题.我正在覆盖.pac-container元素的css ,它保存了结果
.pac-container { //this is a fix for google autocomplete not showing up
z-index: 10000 !important;
display: block !important;
}
这个问题是,一旦从自动完成中选择了一个项目,自动完成仍然可见,我很确定有更好的方法来使用自动完成.
google-maps-api-3 google-places-api angularjs angularjs-directive
谷歌已经标志着reference和id领域不赞成2014年6月24日,并与单取代它place_id.
到目前为止,我只看到place_id了27个字符的长度,但是想知道这个长度是否有任何文档?我无法在任何地方找到这个记录.
显然知道它的长度place_id对于选择最佳数据库字段很重要,因此我想知道.
来自Google Places API文档网站:
id和引用字段自2014年6月24日起不再使用.它们将替换为新的地点ID,这是一个唯一标识符,可用于比较地点和检索有关地点的信息.Places API当前在所有回复中返回place_id,并在"地方详细信息"和"放置删除"请求中接受placeid.2015年6月24日之后不久,API将停止返回响应中的id和引用字段.一段时间后,API将不再接受请求中的引用.我们建议您尽快更新代码以使用新的地方ID而不是ID和引用.
我正在使用Google Places API来提取resturants列表,我正在地图上显示它们.但是,由于Apple已经在iOS 6.0中切换了Google的地图服务,我现在违反了Google的使用条款,该条款规定您必须在Google地图上显示Google数据.
"如果您的应用在地图上显示Places API数据,那么该地图必须由Google提供."
https://developers.google.com/places/policies#terms_of_use
我显然需要更改地图,因为我不会发布违反的应用程序.有什么想法或建议怎么办?我应该使用网络视图访问Google地图吗?Apple是否有某种Google Places API替代方案?
编辑:
通过网络视图使用谷歌地图很麻烦,我想找到一个替代方案,虽然它在技术上有用.
我正在使用Google商家信息自动填充功能,我只是希望它在表单字段中按下回车键并且存在建议时选择结果列表中的顶部项目.我知道之前有人问过:
谷歌地图Places API V3自动完成 - 在输入时选择第一个选项
谷歌地图Places API V3自动完成 - 在输入时选择第一个选项(让它保持这种方式)
但这些问题的答案似乎并没有真正起作用,或者它们解决了特定的附加功能.
它看起来像下面的东西应该工作(但它没有):
$("input#autocomplete").keydown(function(e) {
if (e.which == 13) {
//if there are suggestions...
if ($(".pac-container .pac-item").length) {
//click on the first item in the list or simulate a down arrow key event
//it does get this far, but I can't find a way to actually select the item
$(".pac-container .pac-item:first").click();
} else {
//there are no suggestions
}
}
});
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激!
javascript google-maps google-maps-api-3 google-places-api google-places
google-maps ×3
javascript ×3
android ×1
angularjs ×1
api ×1
ios ×1
ios6 ×1
jquery ×1
mapkit ×1