2017-05-29 210 views
0

我使用谷歌地圖API第3的綜合地圖的應用程序。在地圖上顯示我的一些標記與客戶的名字,他的地址,並建立路由鏈路的infowiew。鏈接,不工作

鏈接一旦點擊應該去谷歌地圖的本地應用程序,但它不響應。同樣的情況發生在谷歌的其他標記鏈接,如加油站,企業等...

我附加加載地圖,書籤,infowindows和應該打開本地應用程序的方法谷歌地圖。

< - 編輯---> 它的核心應用程序的HTML,CSS,JavaScript和jQuery的。它doesn't 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; 
    } 

回答

1

在android系統的情況下: -

您應該創建一個地理URI的意圖對象:

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

+0

是一種混合應用程序,因此,it's爲iOS,Windows和Android系統。核心it's HTML,CSS和JavaScript的使用jQuery。 –