Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图标记没有正确固定_Javascript_Google Maps_Google Maps Api 3_Maps - Fatal编程技术网

Javascript 谷歌地图标记没有正确固定

Javascript 谷歌地图标记没有正确固定,javascript,google-maps,google-maps-api-3,maps,Javascript,Google Maps,Google Maps Api 3,Maps,我正在使用谷歌API查找一个位置,然后计算搜索地点与来自我的数据库的特定酒店之间的距离,在图中,您可以看到我搜索了“印度卡纳塔克邦班加罗鲁Leela Palace Bengaluru,HAL机场路,ISRO Colony,Bengaluru,Karnataka,India”的路线图和距离对于我的酒店,这是来自数据库,正如你所看到的,标记并不是完全固定在丽拉宫上,而是显示在丽拉宫旁边,在图像中标记为B。我不知道我到底哪里做错了如果有人能帮我做这件事那就太好了谢谢 印度卡纳塔克邦班加罗鲁ISRO殖民

我正在使用谷歌API查找一个位置,然后计算搜索地点与来自我的数据库的特定酒店之间的距离,在图中,您可以看到我搜索了“印度卡纳塔克邦班加罗鲁Leela Palace Bengaluru,HAL机场路,ISRO Colony,Bengaluru,Karnataka,India”的路线图和距离对于我的酒店,这是来自数据库,正如你所看到的,标记并不是完全固定在丽拉宫上,而是显示在丽拉宫旁边,在图像中标记为B。我不知道我到底哪里做错了如果有人能帮我做这件事那就太好了谢谢

印度卡纳塔克邦班加罗鲁ISRO殖民地哈尔机场路班加罗尔宫是一个地方,而不是邮政地址。当您将该字符串发送给地理编码器时,您将得到“印度卡纳塔克邦班加罗鲁哈尔第三阶段Leela Palace路(12.9619947,77.649365999999)”的结果

远程服务将地理编码器用于字符串,如果您给它一个地点ID,它将使用该ID作为目的地

使用“Bengaluru Leela Palace”的地点id为:

班加卢利拉宫酒店

地点编号:ChIJ3ZvKfAYUrjsRGuckzDe GxE

印度卡纳塔克邦班加罗尔多姆卢ISRO殖民地哈尔机场路23号,邮编560008

您可以将其用作DirectionService的目标

代码片段:

var地理编码器;
var映射;
函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var start=“Jogupalya,卡纳塔克邦,印度”;
变量dest1={
placeId:“ChIJ3ZvKfAYUrjsRGuckzDe GxE”
};
var请求={
来源:start,
目的地:目的地1,
travelMode:google.maps.travelMode.DRIVING
}
var directionsService=new google.maps.directionsService();
var directionsDisplay1=新建google.maps.DirectionsRenderer({
地图:地图,
保存视口:true
});
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示1.设置方向(响应);
map.setCenter(response.routes[0]。legs[0]。end_位置);
map.setZoom(16);
}
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


请提供一个例子来说明这个问题。因为我在点击酒店时发现了两个地方之间的距离,所以我需要API提供一个地方ID。你是如何获得的,你的代码可以用于静态地方ID,我没有从谷歌API获得目的地ID。你可以使用地方API/库来获得地方ID。这是怎么回事“点击酒店”的意思是?你是如何动态选择的?注意:这可能是另一个问题。
Code:

var dest1 = document.getElementById('textbox1').value;
var request = {
  origin:start,
  destination:dest1,
  travelMode: google.maps.TravelMode[selectedMode]
}

directionsService.route(request, function(response, status) {
  if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay1.setDirections(response);
  }
});