我正在开发一个使用Phonegap的Android应用程序,但在弄清楚如何打开原生Google地图应用程序以显示方向时遇到了麻烦。通过插入URL打开地图没有任何问题,但打开应用程序会让我感到困惑。到目前为止,我只能在iOS平台上找到与Phonegap相关的开发建议。
我已经将Google Maps添加到白名单权限,在我的脚本标记中包含正确的Cordova.js文件和google地图链接,在我的AndroidManifest.xml文件中包含正确的权限,在我的构建路径中包含Cordova.jar和Google Map API,在res目录中包含Phonegap xml文件夹,在我的assets/www目录中包含js文件,在libs目录中包含jar文件。
我想要实现的是:
a.我已经在检查网络连通性,并按照应该完成的方式进行处理。2. Google Maps打开,显示从用户当前位置到点击的链接位置的方向。
下面的示例在我的安卓设备上与在iOS上完全一样,但显然没有打开actions Google Maps应用程序。
<a> href="http://maps.google.com/maps?q=TD Washington DC"><img src="img/ico_pin.png" />White House</a></a>
第二个示例在第一个示例的基础上添加了结束位置,尽管我不知道如何插入当前位置。但最重要的是,它仍然不能打开Google Maps应用程序。
<a href="javascript:openMaps('daddr=1600+Pennsylvania+Ave+NW+Washington+DC+20500+USA');"><img src="img/ico_pin.png" />White House</a>
function openMaps(querystring) {
var maproot = '';
maproot = 'http://maps.google.com/maps?saddr=Current+Location&';
window.location = maproot + querystring;
}
在下面的第三个示例中,我能够在我的应用程序中显示地图。它确实显示了正确的路线(从A点到B点的俯视图),但同样没有打开实际的Google Maps应用程序。
<a id="whDirections" href="#mm_directions" onclick="getDirections()">
<img src="img/ico_pin.png" />White House</a>
<div data-role="content">
<div class="ui-bar-c ui-corner-all ui-shadow" style="padding: 1em;">
<div id="mapdirections_canvas" style="height: 300px;"></div>
</div>
</div>
function getDirections() {
var directionsService = new google.maps.DirectionsService();
var map;
var directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom: 9,
zoomControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions);
directionsDisplay.setMap(map);
var myLatLng = new google.maps.LatLng(gmmLat, gmmLong);
if (document.getElementById("whDirections")) {
var request = {
origin: myLatLng,
destination: new google.maps.LatLng(38.897096, -77.036545),
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
如果任何人有关于这个的链接或任何想法,我将非常感谢你的帮助。除了一个'Hello World‘应用,这是我的第一个移动应用。如果我遗漏了什么,或者我做错了什么,请让我知道。如果需要更多的信息,请告诉我。
提前感谢你的帮助。
发布于 2013-04-01 23:23:04
使用geo: type uri。
<a href="geo:38.897096,-77.036545">open map</a>
并且用户将获得打开安装在其设备上的任何地图应用程序的选择。
发布于 2015-02-26 13:48:03
这对我很有效..。
var addressLongLat = yourLatitude+','+yourLongitude
对于Android地图应用程序:
window.open("geo:"+addressLongLat);
对于iOs地图应用程序:
window.open("http://maps.apple.com/?q="+addressLongLat, '_system');
对于App Browser中的Google地图:
window.open("http://maps.google.com/?q="+addressLongLat, '_system');
发布于 2015-07-21 18:40:22
适用于所有版本的phonegap/cordova或web浏览器。它将谷歌地图原生应用程序。
用于从当前位置到Q- window.open("google.navigation:q=23.3728831,85.3372199&mode=d“的导航,'_system');
For Search - window.open("geo:0,0?q=pizza“,'_system');
点击此处阅读- https://developers.google.com/maps/documentation/android/intents
https://stackoverflow.com/questions/15745096
复制相似问题