【问题标题】:how can use openlayers in iphone sdk如何在 iphone sdk 中使用 openlayers
【发布时间】:2013-02-23 14:38:29
【问题描述】:

我想使用 openlayer 创建自定义地图。但是我无法使用 openlayer。我想在 iphone 中不使用谷歌地图的情况下创建地图,所以我想使用其他方式在地图中填写自己的数据。我认为可以通过开放层实现,但我不知道。所以请帮助我。

【问题讨论】:

  • 如果您说明您尝试与 OpenLayers 一起使用的代码以及为什么它没有工作,您会得到更好的响应。也可以试试OpenLayers tutorial

标签: iphone objective-c openlayers


【解决方案1】:

OpenLayers 是一个 JavaScript 库。作为基于客户端的地图查看实用程序,它允许"display map tiles, vector data and markers loaded from any source"。类似于Leaflet

它们只有在您想在网络上呈现时才有用(在这种情况下,您需要从某个地方获取地图图块或地图图像(例如OpenStreetMap),或者设置您自己的地图服务器) .

如果您想要在 iOS 上本地渲染地图,那么您可能需要一个工具包来获取和渲染地图图块或图像。这里有一些可能会有所帮助:


【讨论】:

  • 你好。以上建议哪个是免费开源的?
  • @famfamfam 据我所知,只有 WhirlyGlobe-MaplyTangram ES 是 FOSS。所有其他都是开源的,但不一定是免费的。
  • 谢谢你。我看到 TanGram ES 需要使用 api 密钥,所以它不是免费的。 WhirlyGlobe 只是地图工具包,它不包含地图服务,所以我可以使用一些方法,如添加标记、折线或更改相机视图.....如果我错了,请告诉我,谢谢
  • 据我所知,您可以使用 Tangram 使用任何切片服务,从 OpenStreetMap 到 GeoJSON/TopoJSON 矢量数据。仅当您选择付费服务时才会付费。此外,仅仅因为您需要一个 api 密钥并不意味着它是付费的。 :-) 示例:Netzen.
【解决方案2】:

您可以在phonegap 的帮助下使用它。

如果您不想使用 phonegap,那么您可以简单地使用 UIWebView。您可以在其中加载您的数据。 在 UIWebView 中加载 HTML 文件。 html文件,包括javascript和css和图像文件没有任何问题。

NSString *fullPath = [NSBundle pathForResource:@"filename" ofType:@"html" inDirectory:path];
 [yourWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fullPath]]];

有关openLayers的更多信息

【讨论】:

    【解决方案3】:

    听起来您只是对在 iOS 应用中提供自定义地图感兴趣。如果是这样,那么MapBox-iOS-SDK 将允许您使用许多不同的地图源,而无需 Web 视图。如果您查看 github 上的 MapBox 项目,他们也有工具可以帮助您创建 SDK 可以使用的地图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 2013-10-27
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 2012-05-12
      • 2011-02-19
      • 1970-01-01
      相关资源
      最近更新 更多