如何在iPad或iPhone商业应用程序中集成bing map?
有人可以帮助我吗?
答案 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/)
一天后,您可以达到以下结果:
这里是一个包装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应用中本地使用它: