iPad / iPhone上的Bing地图

时间:2011-03-08 07:10:31

标签: iphone ipad bing-maps

如何在iPad或iPhone商业应用程序中集成bing map?

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

我从BING Api写了一个javascript wrapper到ObjectiveC 这不是最好的解决方案,但它确实有效。

  

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是你html页面上的JS变量!):

- (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();"];
}

你可以使用触摸手势......还有更多!

希望这有帮助!

阿尔贝托。

答案 1 :(得分:2)

Bing Maps现在有一个iOS SDK,因此您可以在iOS应用中本地使用它:

New Bing Maps iOS SDK