iPhone地图渲染

时间:2009-04-23 06:15:22

标签: iphone cocoa-touch opengl-es

我正在为iPhone构建地图应用程序,我想问一下将网站上的地图引入iPhone的最佳方法。

我想获取大小为80x80的小图片并显示它们。这种活动可以通过使用UIKit或OpenGL ES来实现。

另外,如果你能注意到这件事的某种成就和指导,我会非常感激。

编辑:

我需要为其他供应商提供自定义地图..

除此之外,我知道如何将图像作为渲染部分,并显示我的问题所在的部分。

7 个答案:

答案 0 :(得分:2)

对于小型静态地图,您可以使用Google's static map API

您可以构建一个URL来获取您的图像:

NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/staticmap?center=%f,%f&zoom=%d&size=%1.0fx%1.0f&key=%s&sensor=true",
                                 aLocation.coordinate.latitude, aLocation.coordinate.longitude, // aLocation is set to the center of the map
                                   kCardBackGoogleMapsZoomLevelDefault, 
                                   80, 80, // your map size
                                   kAIGoogleMapAPIKey]; // your google maps API key

所有其他地图供应商都支持静态磁贴 - Microsoft,Yahoo和CloudMade。

答案 1 :(得分:1)

看看这个主题:http://discussions.apple.com/message.jspa?messageID=8157498。它几乎和你要求的一样。

答案 2 :(得分:1)

就显示滚动地图而言,CATiledLayer将是最佳选择。这是一个稍微复杂的类,但如果你谷歌它可以找到一些例子。

答案 3 :(得分:0)

您是否可以使用iPhone SDK 3的MapKit API,还是需要使用自定义地图?

答案 4 :(得分:0)

如果您要加载一组自定义图块,您可能需要查看由MapNinja等公司组合的映射引擎,以便您使用自己的图块集。

否则你需要做很多编码才能自己做类似平铺地图引擎的事情。

答案 5 :(得分:0)

如果您只想嵌入一张不可滚动的地图,请查看Google Static Maps API,它会根据您的请求参数随时为您生成地图图片。

如果你想实现一个滑动的地图,那么试试route-me,它适用于OS 2.2.1,并支持自定义磁贴服务器。或者在OS 3.0中查看MapKit / Google Maps。

答案 6 :(得分:0)

您也可以使用Route-Me项目

http://code.google.com/p/route-me/

BSD许可 - 如果您需要渲染自己的瓷砖,这是完美的