Javascript 如何在谷歌地图url中设置航路点
我有一个有地图的网站。我有一个文本字段,在其中输入我要从哪个城市旅行到已经设置好的特定目的地的城市名称。为了到达这个目的地,我的代码中有硬编码的航路点 所有这些都很好,我现在有一个按钮,当我点击它时,它会告诉我方向(文本格式),当我点击另一个按钮时,我会得到一个小地图,显示起点和终点。我还想把我的航路点添加到这张地图上 我希望它看起来像这样: 但我得到的是: 第二张图片的代码:Javascript 如何在谷歌地图url中设置航路点,javascript,jquery,google-maps-api-3,Javascript,Jquery,Google Maps Api 3,我有一个有地图的网站。我有一个文本字段,在其中输入我要从哪个城市旅行到已经设置好的特定目的地的城市名称。为了到达这个目的地,我的代码中有硬编码的航路点 所有这些都很好,我现在有一个按钮,当我点击它时,它会告诉我方向(文本格式),当我点击另一个按钮时,我会得到一个小地图,显示起点和终点。我还想把我的航路点添加到这张地图上 我希望它看起来像这样: 但我得到的是: 第二张图片的代码: window.open("http://maps.google.com/maps?f=d&source=s
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&mrad="+waypoints +"&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow");
窗口。打开(“http://maps.google.com/maps?f=d&source=s_d&saddr=“+document.getElementById(“fromAddress”).value+”&mrad=“+waypoints+”&daddr=&hl=sv&geocode=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2”,“mywindow”);
在我改变之前的最初情况:
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value +"&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXX=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow");
窗口。打开(“http://maps.google.com/maps?f=d&source=s_d&saddr=“+document.getElementById(“fromAddress”).value+”&daddr=&hl=sv&geocode=xxxxxxxxxxxxxxxxxxxx=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2”、“mywindow”);
原创外观:
正如您在这里看到的,当我添加“mrad”属性时,我也丢失了方向文本
我一直在通过以下链接了解这些属性:
但是我找不到如何将我的航路点添加到地图上
我基本上在寻找如何将我的航路点添加到地图上,同时不丢失上一张图片中显示的方向文本
我使用了mrdad属性,因为它看起来是最符合逻辑的选择,因为它说:“mrad:允许您指定一个额外的目标地址。”
我理解错了什么吗?也许丢失了一些财产
感谢你的回答如果有什么不清楚的地方,就问吧
//拉伊登
编辑:
提供所需路线的代码(当我单击“显示路线”按钮时会显示):
函数覆盖方向()
{
//重置地图
如果(航路点长度>0){
请求={
来源:空,
目的地:空,
航路点:[],
travelMode:google.maps.Directions travelMode.DRIVING,
航路点:对,
避免:是的,
避免收费:正确
};
对于(var i=0;i
使用via属性没有给我任何更改,但可能是我使用了错误的方式?:
$('#print-directions').click(function(){
if (document.getElementById("fromAddress").value != '')
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow" + "&via="+ waypoints[1],waypoints[2]);
else
alert('<%=GetKey("HotelPrintNoFromAddress") %>');
return false;
});
$(“#打印方向”)。单击(函数(){
if(document.getElementById(“fromAddress”).value!='')
窗口打开(“http://maps.google.com/maps?f=d&source=s_d&saddr=“+document.getElementById(“fromAddress”).value+”&daddr=&hl=sv&geocode=xxxxxxxxxxxxxxxxxxxx=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2”,“mywindow”+”&via=“+waypoints[1],waypoints[2]);
其他的
警报(“”);
返回false;
});
终于可以了
这是这个问题的基本解决方案,我将在下面介绍一些特殊的调整。Molle博士公平地说,如果没有你的帮助,我永远不会解决这个问题,我会粘贴代码,如果你希望复制代码并将其作为解决方案发布,我会接受它
如果你
$('#print-directions').click(function(){
if (document.getElementById("fromAddress").value != '')
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow" + "&via="+ waypoints[1],waypoints[2]);
else
alert('<%=GetKey("HotelPrintNoFromAddress") %>');
return false;
});
$('#print-directions').click(function(){
if (document.getElementById("fromAddress").value != ''){
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&daddr=" + request.waypoints[0].location.toUrlValue() + "+" + "to:" + request.waypoints[1].location.toUrlValue()+ "+" + "to:"+"<%=GetToAddress()%>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2" + "&dirflg=t","mywindow");
}
else
alert('<%=GetKey("HotelPrintNoFromAddress") %>');
return false;
});