Карта Bing на iPad / iPhone - PullRequest
       9

Карта Bing на iPad / iPhone

3 голосов
/ 08 марта 2011

Как интегрировать карту Bing в бизнес-приложение для iPad или iPhone?

Может кто-нибудь помочь мне?

Ответы [ 2 ]

3 голосов
/ 08 марта 2011

Я пишу javascript wrapper из BING Api в Objective C.
Это не лучшее решение, но оно работает.

Objective-C предлагает метод для прямого вызова javascript из вашего кода .

Вы можете использовать stringByEvaluatingJavaScriptFromString из вашего UIWebView для вызова всех функций js (увеличение, setmapType и т. Д.).

Ваш UIWebView должен быть HTML-страницей, содержащей базовую карту .

Как это:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
   <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script>
      <script type="text/javascript">
         var map = null;

         function GetMap()
         {
            map = new VEMap('myMap');
            map.LoadMap(new VELatLong(45.46347, 9.19404), 10 ,'h' ,false);
            map.HideDashboard();
            map.SetMapStyle(VEMapStyle.Road);
            map.SetZoomLevel(10);
         }   
      </script>
   </head>
   <body onload="GetMap();">
      <div id='myMap' style="position:absolute; left:0px; top:0px; width:320px; height:460px;"></div>
   </body>
</html>

Ссылка на Bing (http://www.microsoft.com/maps/isdk/ajax/)

Через день вы можете достичь этого результата:

http://www.albertopasca.it/whiletrue/2010/10/iphone-microsoft-bing-map-iphone-ipad/

Вот пример обернутого js (где map - этопеременная JS на вашей html-странице!):

- (void) setZoom:(int)level {
    [self stringByEvaluatingJavaScriptFromString:@"map.setZoom(%d);", level]];
}
- (void) setCenterPoint:(NSString*)point {
    [self stringByEvaluatingJavaScriptFromString:[@"map.setCenterPoint(%@);", point]];
}
- (void) zoomIn {
    [self stringByEvaluatingJavaScriptFromString:@"map.zoomIn();"];
}
- (void) zoomOut {
    [self stringByEvaluatingJavaScriptFromString:@"map.zoomOut();"];
}

Вы можете использовать сенсорные жесты и ... многое другое!

Надеюсь, это поможет!

Альберто.

2 голосов
/ 04 сентября 2011

Bing Maps теперь имеет iOS SDK, поэтому вы можете использовать его в своих приложениях для iOS:

Новый Bing Maps для iOS SDK

...