Javascript “谷歌地图Api”按钮;到标记器的路线";/转到谷歌地图

Javascript “谷歌地图Api”按钮;到标记器的路线";/转到谷歌地图,javascript,google-maps,google-maps-api-3,routes,Javascript,Google Maps,Google Maps Api 3,Routes,我想知道谷歌地图上是否有一个按钮可以将您重定向到谷歌地图,提交目的地地址,这样用户只需输入自己的地址即可计算路线 编辑:如果有一种方法可以通过一个简单的链接直接实现一个自定义按钮(这会导致谷歌上的共享地图),那么这种方法也同样适用 编辑2:在谷歌文档的帮助下,我自己解决了这个问题 花了很多时间在js上摆弄,但它现在可以工作了目标URL应该是: https://www.google.com/maps/dir//{encodedAddress} 注意dir后面的两个斜杠,当使用1斜杠时,地址将用作

我想知道谷歌地图上是否有一个按钮可以将您重定向到谷歌地图,提交目的地地址,这样用户只需输入自己的地址即可计算路线

编辑:如果有一种方法可以通过一个简单的链接直接实现一个自定义按钮(这会导致谷歌上的共享地图),那么这种方法也同样适用

编辑2:在谷歌文档的帮助下,我自己解决了这个问题


花了很多时间在js上摆弄,但它现在可以工作了

目标URL应该是:

https://www.google.com/maps/dir//{encodedAddress}
注意dir后面的两个斜杠,当使用1斜杠时,地址将用作起始地址。必须对地址进行编码(例如,通过
encodeURIComponent

示例按钮(使用他的
textContent
作为地址):


柏林

添加谷歌地图文档中的示例以供将来参考。资料来源:

var映射;
芝加哥var={lat:41.85,液化天然气:-87.65};
/**
*CenterControl向地图添加一个控件,该控件在地图上重新居中
*芝加哥。
*此构造函数将控件DIV作为参数。
*@constructor
*/
功能中心控制(controlDiv,地图){
//为控件边框设置CSS。
var controlUI=document.createElement('div');
controlUI.style.backgroundColor='#fff';
controlUI.style.border='2px solid#fff';
controlUI.style.borderRadius='3px';
controlUI.style.boxShadow='0 2px 6px rgba(0,0,0,3)';
controlUI.style.cursor='pointer';
controlUI.style.marginBottom='22px';
controlUI.style.textAlign='center';
controlUI.title='单击以重新居中地图';
controlDiv.appendChild(controlUI);
//为控件内部设置CSS。
var controlText=document.createElement('div');
controlText.style.color='rgb(25,25,25)';
controlText.style.fontFamily='Roboto,Arial,无衬线';
controlText.style.fontSize='16px';
controlText.style.lineHeight='38px';
controlText.style.paddingLeft='5px';
controlText.style.paddingRight='5px';
controlText.textContent='中心地图';
controlUI.appendChild(controlText);
//设置click事件侦听器:只需将映射设置为Chicago。
controlUI.addEventListener('单击',函数()){
赛特中心地图(芝加哥);
});
}
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
缩放:12,
中心:芝加哥
});
//创建DIV以保存控件并调用CenterControl()
//构造函数传入这个DIV。
var centerControlDiv=document.createElement('div');
var centerControl=新的centerControl(centerControlDiv,map);
centerControlDiv.index=1;
map.controls[google.maps.ControlPosition.TOP\u CENTER].push(centerControlDiv);
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,正文{
身高:100%;
保证金:0;
填充:0;
}


hmm在这种情况下,我可以简单地创建一个链接,看起来像一个带有
target=“\u blank”
的按钮,但我希望将其作为地图控件的一部分。将按钮添加到控件中后,任何HTMLElement都可能是一个controlNice!但是如何将自定义按钮添加到GoogleMapsAPIv3(JavaScript)中呢?我想弄清楚谷歌地图生成的实际嵌入iFrame的外观。你能发布完整的解决方案吗?
<button onclick="top.window.open('https://www.google.com/maps/dir//'+
                                  encodeURIComponent(this.textContent.trim()),
                                 'gmap')">
    Berlin
</button>