Javascript 谷歌地图API地理位置文本搜索位置详细信息
我使用谷歌地图api地理位置通过latlng获取用户位置,然后使用此位置文本搜索该区域周围的“高尔夫”位置。现在,我想从这个基本的地图/标记视图开始,在用户单击特定地图标记时提供位置详细信息。问题是,当我单击标记时,没有响应。我觉得我是一个变量,但我真的需要一些帮助来确定为什么细节和infowindo不能在单击时显示 我还看到谷歌正在使用placeID返回详细信息?但不确定这是否适用于maps API详细信息请求 提前感谢您的帮助Javascript 谷歌地图API地理位置文本搜索位置详细信息,javascript,google-maps-api-3,google-places-api,Javascript,Google Maps Api 3,Google Places Api,我使用谷歌地图api地理位置通过latlng获取用户位置,然后使用此位置文本搜索该区域周围的“高尔夫”位置。现在,我想从这个基本的地图/标记视图开始,在用户单击特定地图标记时提供位置详细信息。问题是,当我单击标记时,没有响应。我觉得我是一个变量,但我真的需要一些帮助来确定为什么细节和infowindo不能在单击时显示 我还看到谷歌正在使用placeID返回详细信息?但不确定这是否适用于maps API详细信息请求 提前感谢您的帮助 功能成功(位置){ var s=document.queryS
功能成功(位置){
var s=document.querySelector(“#status”);
如果(s.className=='success'){
//不确定为什么我们在FF中两次碰到这个,我认为这与缓存结果返回有关
返回;
}
s、 innerHTML=“找到你了!”;
s、 className='success';
var mapcanvas=document.createElement('div');
mapcanvas.id='mapcanvas';
mapcanvas.style.height='400px';
mapcanvas.style.width='560px';
document.querySelector('article').appendChild(mapcanvas);
var latlng=新的google.maps.latlng(position.coords.latitude,position.coords.longitude);
变量myOptions={
缩放:10,
中心:拉特林,
mapTypeControl:false,
导航控制选项:{
样式:google.maps.NavigationControlStyle.SMALL
},
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“mapcanvas”),myOptions);
var服务;
var信息窗口;
var请求={
地点:拉丁美洲,
半径:“3200”,
问题:“高尔夫”
};
infowindow=new google.maps.infowindow();
服务=新的google.maps.places.PlacesService(地图);
文本搜索(请求、回调);
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
html,body,#mapcanvas{
高度:400px;
宽度:400px;
边际:0px;
填充:0px
}
查找您的位置:检查。。。
我在这里看到两个可能的问题:
var request = { reference: position.reference };
service.getDetails(request, function(details, status) {
position
是一个LatLng
,它没有reference
属性。因此,您的getDetails
调用失败getDetails
的回调函数忽略状态
,因此您不会注意到它报告的任何错误PlaceResult
(即results[i]
,而不是results[i].geometry.location
)传递到createMarker
,以便您可以访问位置和位置ID
顺便提一下:不推荐使用参考
。改用placeId