Android 谷歌地图发布链接;“当前位置”;作为源地址
我在创建GoogleMapsLaunch链接时遇到了一个问题,该链接必须使用“当前位置”字符串作为源地址 问题在于何时需要生成此链接并与他人共享。在这种情况下,需要知道朋友的智能手机的区域设置,以便生成正确的链接 例如,以下链接仅适用于英语或英国语言环境的设备:Android 谷歌地图发布链接;“当前位置”;作为源地址,android,iphone,google-maps,gps,Android,Iphone,Google Maps,Gps,我在创建GoogleMapsLaunch链接时遇到了一个问题,该链接必须使用“当前位置”字符串作为源地址 问题在于何时需要生成此链接并与他人共享。在这种情况下,需要知道朋友的智能手机的区域设置,以便生成正确的链接 例如,以下链接仅适用于英语或英国语言环境的设备: 是否有任何通用的方法来创建这样一个链接,以便它可以在所有设备上工作,而不考虑它们的区域设置。问题在于谷歌地图启动链接中的saddr参数。它必须是三个选项之一: 源地址 A源位置(lat、lng) “当前地址”-告诉谷歌地图应用程序从当
是否有任何通用的方法来创建这样一个链接,以便它可以在所有设备上工作,而不考虑它们的区域设置。问题在于谷歌地图启动链接中的
saddr
参数。它必须是三个选项之一:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
</style>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-8-i">
<title>My Title!</title>
<script type="text/javascript">
function getQueryVariable(variable) {
variable = variable.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + variable + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(document.URL);
if (results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
var langArr = new Array();
langArr["nl"] = "Huidige locatie";
langArr["en"] = "Current Location";
langArr["fr"] = "Lieu actuel";
langArr["de"] = "Aktueller Ort";
langArr["it"] = "Posizione attuale";
langArr["ja"] = "???";
langArr["es"] = "Ubicacion actual";
langArr["ar"] = "?????? ??????";
langArr["ca"] = "Ubicacio actual";
langArr["cs"] = "Soucasna poloha";
langArr["da"] = "Aktuel lokalitet";
langArr["el"] = "???????? ?????????";
langArr["en-gb"] = "Current Location";
langArr["en-us"] = "Current Location";
langArr["fi"] = "Nykyinen sijainti";
langArr["he"] = "????? ?????";
langArr["he-il"] = "????? ?????";
langArr["hr"] = "Trenutna lokacija";
langArr["hu"] = "Jelenlegi helyszin"
langArr["id"] = "Lokasi Sekarang";
langArr["ko"] = "?? ??";
langArr["ms"] = "Lokasi Semasa";
langArr["no"] = "Nav?rende plassering";
langArr["pl"] = "Biezace polozenie";
langArr["pt"] = "Localizacao Atual";
langArr["pt-pt"] = "Localizacao actual";
langArr["ro"] = "Loc actual";
langArr["ru"] = "Òåêóùåå ðàçìåùåíèå";
langArr["ru-ru"] = "Òåêóùåå ðàçìåùåíèå";
langArr["sk"] = "Aktualna poloha";
langArr["sv"] = "Nuvarande plats";
langArr["th"] = "???????????????";
langArr["tr"] = "Su Anki Yer";
langArr["uk"] = "Ïîòî÷íå ì³ñöå";
langArr["vi"] = "V? tri Hi?n t?i";
langArr["zh-cn"] = "????";
langArr["zh-tw"] = "????";
var coordinate = getQueryVariable("ll");
var language = window.navigator.userLanguage || window.navigator.language;
language = language.toLowerCase();
if (navigator.geolocation != undefined)
{
if (coordinate != "")
navigator.geolocation.getCurrentPosition(successCallback,
errorCallback,
{maximumAge:000000});
}
else
{
errorCallback("");
}
function successCallback(position) {
if ( (navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPad') != -1))
window.location = "comgooglemaps://?saddr=" + position.coords.latitude + "," + position.coords.longitude + "&daddr=" + coordinate;
else
window.location = "http://maps.google.com/maps?saddr=" + position.coords.latitude + "," + position.coords.longitude + "&daddr=" + coordinate;
}
function errorCallback(error) {
alert("Sorry cannot determine your current location. Please select \"Current Location\" as point A in google maps");
window.location = "http://maps.google.com/maps?saddr=" + langArr[language].replace(" ","+") + "&daddr=" + coordinate;
}
</script>
</head>
<body>
<div STYLE="position:absolute; TOP:460px; LEFT:80px; WIDTH:370px; HEIGHT:50px" >
Please wait.<br/>Detecting your location...<br/>If nothing happens for long time please use the following link:
<h3><a href="javascript:errorCallback('');">Manually launch Google Maps</a></h3>
</div>
</body>
</html>
我的头衔!
函数getQueryVariable(变量){
变量=变量。替换(/[\[]/,“\\\[”)。替换(/[\]]/,“\\\]”);
var regexS=“[\\?&]”+variable+“=([^&\\]*)”;
var regex=新的RegExp(regexS);
var results=regex.exec(document.URL);
如果(结果==null)
返回“”;
其他的
返回组件(结果[1]。替换(/\+/g,”);
}
var langArr=新数组();
langArr[“nl”]=“Huidige locatie”;
langArr[“en”]=“当前位置”;
langArr[“fr”]=“Liue actuel”;
langArr[“de”]=“Aktueller Ort”;
langArr[“it”]=“Posizione attuale”;
langArr[“ja”]=“??”;
langArr[“es”]=“Ubicacion实际值”;
langArr[“ar”]=“ar”?”;
langArr[“ca”]=“Ubicacio实际值”;
langArr[“cs”]=“Soucasna poloha”;
langArr[“da”]=“Aktuel lokalitet”;
langArr[“el”]=“el”?”;
langArr[“en gb”]=“当前位置”;
langArr[“en-us”]=“当前位置”;
langArr[“fi”]=“Nykyinen sijainti”;
langArr[“他”]=“他”;
langArr[“he il”]=“he il”?”;
langArr[“hr”]=“Trenutna lokacija”;
langArr[“hu”]=“Jelenlegi helyszin”
langArr[“id”]=“Lokasi Sekarang”;
langArr[“ko”]=“??”;
langArr[“ms”]=“Lokasi Semasa”;
langArr[“否”]=“导航?渲染plassering”;
langArr[“pl”]=“Biezace polozenie”;
langArr[“pt”]=“Localizacao Atual”;
langArr[“pt”]=“Localizacao实际”;
langArr[“ro”]=“Loc实际”;
langArr[“ru”]=“Òåùùùùùùùùùùùùùùùùù”;
langArr[“ru-ru”]=“Òåùùùùùùùùùùùùùùùùù”;
langArr[“sk”]=“Aktualna poloha”;
langArr[“sv”]=“努瓦朗德平原”;
langArr[“th”]=“th”?”;
langArr[“tr”]=“Su Anki Yer”;
langArr[“英国”]=“英国”;
langArr[“vi”]=“V?tri Hi?n t?i”;
langArr[“zh cn”]=“??”;
langArr[“zh tw”]=“??”;
var坐标=getQueryVariable(“ll”);
var language=window.navigator.userLanguage | | window.navigator.language;
language=language.toLowerCase();
if(navigator.geolocation!=未定义)
{
如果(坐标!=“”)
navigator.geolocation.getCurrentPosition(successCallback,
错误回调,
{maximumAge:000000});
}
其他的
{
错误回调(“”);
}
函数成功回调(位置){
if((navigator.userAgent.indexOf('iPhone')!=-1)| |(navigator.userAgent.indexOf('iPad')!=-1))
window.location=“comgooglemaps://?saddr=“+position.coords.latitude+”、“+position.coords.longitude+”&daddr=“+coordination;
其他的
window.location=”http://maps.google.com/maps?saddr=“+position.coords.latitude+”、“+position.coords.longitude+”&daddr=“+坐标;
}
函数errorCallback(错误){
警报(“抱歉,无法确定您的当前位置。请选择“当前位置”作为谷歌地图中的A点”);
window.location=”http://maps.google.com/maps?saddr=“+langArr[语言]。替换(“,“+”)+”&daddr=“+坐标;
}
请稍候。
检测到您的位置…
如果长时间没有任何事情发生,请使用