Mapkit 在本机应用程序中使用地图

Mapkit 在本机应用程序中使用地图,mapkit,cordova,Mapkit,Cordova,使用apache cordova 2.1构建ios应用程序。建筑和造型都很好,但地图却不行 我找到了一个地图插件,但根本无法使用: 我还发现了一个示例html文件,但可以: 一,/ 因此,我将MapKit框架添加到xcode中,这非常简单: 二,/ 添加了.m和.h文件 三,/ 添加了.js文件并将其链接到my index.html <script type="text/javascript" charset="utf-8" src="phonegap.js"></scr

使用apache cordova 2.1构建ios应用程序。建筑和造型都很好,但地图却不行

我找到了一个地图插件,但根本无法使用:

我还发现了一个示例html文件,但可以:

一,/ 因此,我将MapKit框架添加到xcode中,这非常简单:

二,/ 添加了.m和.h文件

三,/ 添加了.js文件并将其链接到my index.html

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8" src="MapKitPlug.js"></script>
四,/ 复制了上面的示例html

五,/ 按照说明将Mapkit添加到.plist文件中

当我尝试运行映射时,会出现以下错误:

2012-11-05 14:21:29.505 sawdaysApp[25398:c07] Multi-tasking -> Device: YES, App: YES
2012-11-05 14:21:30.895 sawdaysApp[25398:c07] CDVPlugin class MapKitView (pluginName: MapKitView) does not exist.
2012-11-05 14:21:30.895 sawdaysApp[25398:c07] ERROR: Plugin 'MapKitView' not found, or is not a CDVPlugin. Check your plugin mapping in Cordova.plist.
2012-11-05 14:21:30.896 sawdaysApp[25398:c07] FAILED pluginJSON = [null,"MapKitView","showMap",[]]
2012-11-05 14:21:30.896 sawdaysApp[25398:c07] CDVPlugin class MapKitView (pluginName: MapKitView) does not exist.
2012-11-05 14:21:30.896 sawdaysApp[25398:c07] ERROR: Plugin 'MapKitView' not found, or is not a CDVPlugin. Check your plugin mapping in Cordova.plist.
2012-11-05 14:21:30.897 sawdaysApp[25398:c07] FAILED pluginJSON = [null,"MapKitView","setMapData",[{"diameter":1000,"offsetTop":25,"lon":-123.104446,"buttonCallback":"cbMapCallback","lat":49.281467999999997,"height":360,"atBottom":true}]]
我假设错误发生在CDVPluggin中的MapKitView中,但确实不确定

有人有过这样的经验并成功了吗

这是有效的。最后:

1-按照本指南启动应用程序

2-下载并添加mapkit插件本地文件,所有这些文件都位于插件文件夹中,而.js文件位于www文件夹中。 确保将pluggins文件夹拖到xcode中的pluggins文件夹,否则应用程序将无法正确链接文件

3-白名单*将所有域列入白名单,并在Cordova.plist MapKitView上添加插件引用作为值和键

4-加载并包含在sawdaysTestApp/pluggins文件夹JSONKit.h和JSONKit.m中

5-更改mapkit.h和.m

#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif

to

#import <Cordova/CDVPlugin.h>

更改mapkit.m

from

#ifdef CORDOVA_FRAMEWORK
// PhoneGap >= 1.2.0
#import <Cordova/JSONKit.h>
#else
// https://github.com/johnezang/JSONKit
#import "JSONKit.h"
#endif


to

    #import "JSONKit.h"
从中获取示例。将整个示例复制并粘贴到index.html中。 7-更改index.html

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8" src="MapKitPlug.js"></script>
到//


8-运行模拟器。单击“显示地图”按钮。

我只想添加两件事:

1,自Cordova 2.3.0起,文件名为

Cordova.plist
现在是

yourProject-Info.plist
你的项目就是你的项目名称

2.我发现您仍然需要通过执行以下操作“将二进制文件与库链接起来”:

点击你的项目 选择构建阶段 单击“将二进制文件链接到库”上的箭头 单击添加 搜索MapKit.framework并单击添加
仅供参考,我进一步关注了这个问题,似乎没有人能给我答复。我已经修改了.m和.h文件,按照上面的第一个回复,在这个评论中的链接。基本上,如果有人知道如何使用ApacheCordova2.1在iOS上运行地图,我很想知道如何使用。按照我能找到的指南,我找不到。仅供参考:我想在Cordova的后续版本中解决这个问题,请看一下讨论:很高兴知道你已经做到了。我很快就要开始在科尔多瓦使用地图了,所以我把这一个作为将来的参考:如果我是你,我会使用Appcellerator。虽然唯一使用的主要液化天然气是JS性能和控制比cordova先进得多。我们在路试2号,我希望科尔多瓦能赢,appcellerator能赢。cordova的一个问题是最近的开发速度与可用插件缺乏速度相比。例如这些地图,pluggin只是过时了,一些目标C代码需要更新,这与cordova的目的背道而驰…感谢更新,Tianium Appcellerator是我们正在考虑使用的另一个开发平台,因此感谢您指出上述问题!