gpt4 book ai didi

javascript - map 上的链接不起作用

转载 作者:行者123 更新时间:2023-12-03 04:13:37 24 4
gpt4 key购买 nike

我有一个带有使用 Google map v3 API 的集成 map 的应用。在 map 中,我显示了一些带有信息 View 的标记,其中包含客户的姓名、地址和用于建立路线的链接。

点击链接后应该会转到 Google map 的 native 应用程序,但它没有响应。谷歌本身标记的其他链接也会发生同样的情况,例如加油站、企业等......

我附上了加载 map 、书签、信息窗口和打开谷歌地图 native 应用程序的方法。

<--编辑--->核心应用程序是 html、css、javascript 和 jquery。它不是 android 或 ios 原生的。

函数 initMap() {

    // Origin, could be latlng or ZipCode
var pointOrigin = new google.maps.LatLng(itemsPosition[0].latitud, itemsPosition[0].longitud);

var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
// Map
center: pointOrigin
});

var infowindow = new google.maps.InfoWindow();

marker = new google.maps.Marker({
position: new google.maps.LatLng(itemsPosition[0].latitud, itemsPosition[0].longitud),
icon: "http://labs.google.com/ridefinder/images/mm_20_blue.png",
map: map
});

var marker, i;
for (i = 0; i < items.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(items[i].latitud, items[i].longitud),
icon: "http://labs.google.com/ridefinder/images/mm_20_red.png",
animation: google.maps.Animation.BOUNCE,
map: map
});

google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
marker.setAnimation(null);

infowindow.setContent("<div id='content'><h4>" + items[i].name + "</h4>" + items[i].dir + "<a id='ruta' href='" + showMap(items[i].latitud + "," + items[i].longitud) + "'>Ver Ruta</a></div>");

infowindow.open(map, marker);
}
})(marker, i));
}

// open navigator or native Maps App
function openMaps(latitud, longitud) {
window.open(showMap(latitud + "," + longitud), '_system');
}

// url changes according to device
showMap = function(q) {
var device = navigator.userAgent;
var q = q.replace(/\s/g, "+");

var url = "http://maps.google.com?saddr=" + itemsPosition[0].latitud + ',' + itemsPosition[0].longitud + "&daddr=" + q;

if (device.match(/Iphone/i) || device.match(/iPhone|iPad|iPod/i)) {
url = 'http://maps.apple.com/maps?saddr=Current%20Location&daddr=' + q
} else if (device.match(/Android/i)) {
url = "geo:0,0?q=" + q;
} else if (device.match(/Windows Phone/i)) {
url = "maps:" + q;
}

return url;
}

最佳答案

如果是安卓:--

您应该创建一个带有 geo-URI 的 Intent 对象:

String uri = String.format(Locale.ENGLISH, "geo:%f,%f", 纬度, 经度);
Intent Intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
context.startActivity(intent);

关于javascript - map 上的链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44236005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com