Tôi đang làm việc trên ứng dụng Android bằng Phonegap và gặp sự cố khi tìm cách mở ứng dụng Google Maps gốc để hiển thị chỉ đường. Tôi không có bất kỳ vấn đề gì khi mở một bản đồ bằng cách chèn một URL nhưng mở ứng dụng đã khiến tôi bối rối. Cho đến nay tôi chỉ có thể tìm thấy các đề xuất liên quan đến Phonegap để phát triển trên nền tảng iOS.Android Phonegap - Cách mở ứng dụng Google Maps gốc
Tôi đã thêm Google Maps vào các quyền trong danh sách cho phép, bao gồm tệp chính xác của Cordova.js và liên kết bản đồ google trong thẻ tập lệnh của tôi, có quyền chính xác trong tệp AndroidManifest.xml của tôi, bao gồm Cordova.jar và Google Map API trong đường dẫn xây dựng của tôi, có thư mục Phonegap xml trong thư mục res, tệp js trong thư mục asset/www của tôi, tệp jar trong thư mục libs.
Những gì tôi đang cố gắng để hoàn thành:
-
1. Khi một liên kết được nhấp, mở ứng dụng Google Maps bản địa. Nếu ứng dụng không được cài đặt trên thiết bị, hãy thông báo cho người dùng biết rằng Google Maps chưa được cài đặt và phải được cài đặt.
-
a. Tôi đã kiểm tra kết nối mạng và xử lý như nó phải được thực hiện.
Ví dụ bên dưới hoạt động trên thiết bị Android của tôi giống hệt như trên iOS nhưng rõ ràng là không mở ứng dụng Google Maps.
<a> href="http://maps.google.com/maps?q=TD Washington DC"><img src="img/ico_pin.png" />White House</a></a>
Ví dụ thứ hai thêm vào đầu tiên bằng cách bao gồm vị trí kết thúc mặc dù tôi không thể tìm ra cách chèn vị trí hiện tại. Quan trọng nhất là, nó vẫn không mở ứng dụng 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;
}
Trong ví dụ thứ ba bên dưới, tôi có thể hiển thị bản đồ trong ứng dụng của mình. Nó hiển thị lộ trình chính xác (từ chế độ xem từ trên cao từ điểm A đến điểm B) nhưng lại không mở ứng dụng Google Maps thực tế.
<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);
}
});
}
Nếu có ai có liên kết hoặc ý tưởng về điều này, tôi thực sự đánh giá cao sự trợ giúp. Ngoài ứng dụng 'Hello World', đây là ứng dụng di động đầu tiên của tôi. Xin vui lòng cho tôi biết nếu tôi đã bỏ lỡ bất cứ điều gì hoặc nếu tôi chỉ làm điều này hoàn toàn sai. Nếu cần thêm bất kỳ thông tin nào, vui lòng cho tôi biết.
Cảm ơn bạn đã trợ giúp.
Tôi nghĩ bản đồ google sẽ mở ra liên kết bắt đầu bằng địa lý: // .... –