Wie Google Maps Faster in iPhone laden
-
05-07-2019 - |
Frage
in meinem iPhone Anwendung, die ich lade die Wegbeschreibungen zu einer WebView von einer gebündelten HTML-Seite (weil ich nicht einen Weg finden, kann es direkt an die MapKit zu laden), aber es zu viel Zeit, zu laden ist es ein besserer Weg, dies zu tun? Wie im iPhone Standard-Kartenanwendung
code:
NSString *filePathString = [[NSBundle mainBundle] pathForResource:@"drive_index" ofType:@"html"];
NSMutableString *html = [[NSMutableString alloc] initWithContentsOfFile: filePathString];
[html replaceOccurrencesOfString: @"varLocation1" withString:loc1
options: NSLiteralSearch range: NSMakeRange(0, [html length])];
[html replaceOccurrencesOfString: @"varLocation2" withString:loc2
options: NSLiteralSearch range: NSMakeRange(0, [html length])];
NSURL *aURL = [NSURL fileURLWithPath:filePathString];
[webView loadHTMLString:html baseURL:aURL];
und die HTML-Seite
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example: Simple Map</title>
<script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA"
type="text/javascript"></script>
<script type="text/javascript">
var directionsPanel;
var directions;
var location1="varLocation1";
var location2="varLocation2";
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(location1), 13);
directionsPanel = document.getElementById("route");
directions = new GDirections(map, directionsPanel);
directions.load('from: ' + location1 +' to: '+ location2 );
}
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width:divice-width ; height:350px ; float:top; border: 1px solid black;"></div>
<div id="route" style="width:divice-width; border; 1px solid black;"></div>
</body>
</html>
Lösung
Haben Sie einen Blick auf diese Antwort:
Zeige Anfahrtsbeschreibung in MapKit
Es sagt eine Möglichkeit, die Map Kit zu verwenden (was nicht Anfahrts nicht enthalten) und Overlay-Linien direkt an der Spitze. Hier ist die Website die sie verweisen:
Andere Tipps
Sie sollten auf jeden Fall sehen, wenn Sie wechseln können V3 der Google Maps API . Es wurde speziell schnell auf mobilen Browser laden entworfen. Das einzige Problem (und es ist ein großer) ist, dass es nicht Richtungen unterstützt noch.