打开原生地图,然后返回应用程序phonegap

时间:2013-07-01 04:57:18

标签: iphone ios map cordova back

我正面临一个问题,我正在开发一个使用phonegap的混合应用程序,客户想要用标记打开原生地图(Apple的Apple地图和Android的谷歌地图)然后回到应用程序等结束了。在Android上没关系,后退按钮已经实现,但我的问题是iOS。我已经开发了一个小插件来打开原生地图并使用以下代码放置标记:

CDVPluginResult* pluginResult = nil;
NSNumber * latN = [command.arguments objectAtIndex:0];
NSNumber * lonN = [command.arguments objectAtIndex:1];
double lat = [latN doubleValue];
double lon = [lonN doubleValue];

CLLocationCoordinate2D myCoordinate = CLLocationCoordinate2DMake(lat, lon);

MKPlacemark *myPlacemark = [[[MKPlacemark alloc] initWithCoordinate:myCoordinate       addressDictionary:nil]autorelease];

MKMapItem *mapItem = [[[MKMapItem alloc] initWithPlacemark:myPlacemark]autorelease];
mapItem.name = @"My car";
[mapItem openInMapsWithLaunchOptions:nil];


if (latN != nil && lonN != nil) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"ok"];
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
}

[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

有没有办法在iOS上执行此操作? 提前致谢, MED。

1 个答案:

答案 0 :(得分:1)

我回过头来看一下我在我的案例中使用的解决方案,经过大量研究后我发现唯一的方法就是使用mapKit框架。 所以我只是使用了cordova MapKit插件(https://github.com/phonegap/phonegap-plugins/tree/master/iOS/MapKit)进行了一些修改,因为这个版本不是最新版本。 我使用地图视图设置了一个视图,顶部有一个带有后退按钮的工具栏,因此我们可以轻松访问本机地图然后返回应用程序。 MED。