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&amp;v=2&amp;sensor=false&amp;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> 
War es hilfreich?

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:

http://spitzkoff.com/craig/?p=65

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top