标签: apple-maps

如何用swift中的坐标以编程方式打开地图App?

我有经度和经度,我想打开我的地图应用程序.我从这里试过这段代码.

    func goToMap(){

    var lat1 : NSString = self.venueLat
    var lng1 : NSString = self.venueLng

    var latitude:CLLocationDegrees =  lat1.doubleValue
    var longitude:CLLocationDegrees =  lng1.doubleValue

    var coordinate = CLLocationCoordinate2DMake(latitude, longitude)

    var placemark : MKPlacemark = MKPlacemark(coordinate: coordinate, addressDictionary:nil)

    var mapItem:MKMapItem = MKMapItem(placemark: placemark)

    mapItem.name = "Target location"

    let launchOptions:NSDictionary = NSDictionary(object: MKLaunchOptionsDirectionsModeDriving, forKey: MKLaunchOptionsDirectionsModeKey)

    var currentLocationMapItem:MKMapItem = MKMapItem.mapItemForCurrentLocation()

    MKMapItem.openMapsWithItems([currentLocationMapItem, mapItem], launchOptions: launchOptions)

}
Run Code Online (Sandbox Code Playgroud)

此功能可以成功打开地图,但不会显示任何图钉.它还显示了我不想要的用户位置.我只想在地图上找到所提供纬度和经度的图钉.

ios apple-maps swift

96
推荐指数
6
解决办法
8万
查看次数

有没有办法在mkmapview中使用内置的Apple API获取路线?

我知道谷歌地图是最好的地图,但我不想下载一堆额外的库和所有这些.我更愿意做一些快速而简单的事情来获得从A点到B点的快速路线并完成它.有没有办法用内置的函数/库来做到这一点?有人能指出我正确的方向吗?

编辑

在我的情况下,我不是试图转弯方向或任何东西,我只是想从头到尾划一条线.也许可以选择要走哪条路线.有没有办法做到或没有?

objective-c mkmapview ios apple-maps

27
推荐指数
1
解决办法
2万
查看次数

如何在Apple Maps或Google Maps中打开链接?

如何才能使网站上的链接首先导致新版Google Maps for iOS应用中的位置,如果不可用,则还原为Apple Maps?

目前,默认功能是maps.apple.com将在iOS上的Apple Maps和其他设备上的Google Maps中打开链接.

因为谷歌地图似乎是大多数用户的首选,所以在iOS上反转这一点会很好.

google-maps url-scheme ios apple-maps

19
推荐指数
1
解决办法
4万
查看次数

PBRequester因模拟器上的Apple Maps下载错误-1001"错误的URL"而失败,但在设备上没有

geocodeAddressString:inRegion:completionHandler重置iOS模拟器后第一次尝试使用时出现此错误:

PBRequester failed with Error Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x113bba860 {NSLocalizedDescription=bad URL, NSUnderlyingError=0x113bbf2b0 "bad URL"}

这不会发生在设备上,也不会发生在模拟器上的后续运行中(某些内容会被缓存,我假设.)有谁知道它是什么或如何防止它?

ios apple-maps

19
推荐指数
1
解决办法
1613
查看次数

从ios应用程序打开带有路线的苹果地图应用程序

正如标题所述,我想通过按下按钮在我自己的应用程序中打开ios设备中的本机地图应用程序.目前我使用了一个MKmapview显示一个简单的引脚,从json文件中取出lat/long .

代码是这样的:

- (void)viewDidLoad {
    [super viewDidLoad]; 
}


// We are delegate for map view
self.mapView.delegate = self;

// Set title
self.title = self.location.title;

// set texts...
self.placeLabel.text = self.location.place;


self.telephoneLabel.text = self.location.telephone;
self.urlLabel.text = self.location.url;


**// Make a map annotation for a pin from the longitude/latitude points
MapAnnotation *mapPoint = [[MapAnnotation alloc] init];
mapPoint.coordinate = CLLocationCoordinate2DMake([self.location.latitude doubleValue], [self.location.longitude doubleValue]);
mapPoint.title = self.location.title;**

// Add it to the map view
[self.mapView addAnnotation:mapPoint];

// Zoom to …
Run Code Online (Sandbox Code Playgroud)

iphone maps objective-c ios apple-maps

18
推荐指数
3
解决办法
3万
查看次数

缩放到指定的标记react-native-maps

react-native-maps文档中有一个部分用于缩放到标记数组,但是在docs或examples文件夹中没有关于如何执行此操作的代码示例(我可以找到)

谁能提供一个如何做到这一点的例子?

maps google-maps apple-maps reactjs react-native

17
推荐指数
1
解决办法
1万
查看次数

使用MKUserTrackingBarButtonItem时如何指定缩放级别?

我正在使用一个MKUserTrackingBarButtonItem按钮,允许用户自动跟踪他们在地图上的位置.问题是,当他们点击此按钮时,它会被缩放得太远.我希望它以指定的缩放级别(即跨度)开始.我怎样才能做到这一点?

当用户点击按钮进行更改时MKUserTrackingModeFollow,它似乎使用用户上次手动更改的相同缩放级别(即在地图上使用手势).尝试通过setRegionsetVisibleMapRect不影响更改模式时将使用的缩放级别来指定不同的缩放级别MKUserTrackingModeFollow.

尝试override mapView:didChangeUserTrackingMode:设置区域会导致模式更改回MKUserTrackingModeNone.例:

- (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated {
    if (mode == MKUserTrackingModeFollow) {
        CLLocationCoordinate2D center = mapView.userLocation.location.coordinate;
        MKCoordinateSpan span = MKCoordinateSpanMake(0.002306, 0.001717);
        [mapView setRegion:MKCoordinateRegionMake(center, span) animated:YES];
        // [mapView setUserTrackingMode:MKUserTrackingModeFollow animated:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在设置区域后立即尝试重置模式,则在用户静止时可以正常工作,但如果用户正在移动则缩小.

最简单的解决方案是,如果有一种方法可以通过发送我的跨度值来简单地为MKUserTraking指定类似缩放级别的内容.但是,由于这似乎不存在,我还能做什么?

objective-c mapkit ios apple-maps

16
推荐指数
1
解决办法
1236
查看次数

打开具有特定地址iOS 7的地图

我试图让我的应用程序打开苹果地图应用程序,并将地址拉起来.我试过这个:

- (IBAction)openInMaps:(id)sender {
    NSString *addressString = @"http://maps.apple.com/?q=1 Infinite Loop, Cupertino, CA";
    NSURL *url = [NSURL URLWithString:addressString];
    [[UIApplication sharedApplication] openURL:url];
}
Run Code Online (Sandbox Code Playgroud)

还有这个 :

- (IBAction)openInMaps:(id)sender {
    NSString *addressString = @"http://maps.apple.com/?q=1_Infinite_Loop,_Cupertino,_CA";
    NSURL *url = [NSURL URLWithString:addressString];
    [[UIApplication sharedApplication] openURL:url];
}
Run Code Online (Sandbox Code Playgroud)

但是这个按钮的作用就像没有任何东西.但这确实有效:

- (IBAction)openInMaps:(id)sender {
    NSString *addressString = @"http://maps.apple.com/?q=Cupertino,CA";
    NSURL *url = [NSURL URLWithString:addressString];
    [[UIApplication sharedApplication] openURL:url];
}
Run Code Online (Sandbox Code Playgroud)

所以,只要它们是一个空间,它就不起作用.我该如何打开这个地址?

iphone map street-address ios apple-maps

15
推荐指数
2
解决办法
1万
查看次数

使用特定的MKRoute信息打开Apple Maps应用程序

我试图在我的Swift应用程序(iOS 8+目标)中显示A点和B点之间的所有可能路线.我允许用户选择我的应用程序中的任何一个可能的路线.接下来,我希望用户能够使用在Apple Maps应用程序中导航所选路线(MKRoute)

var fullRouteResponse:MKDirectionsResponse? //This variable has MKRoute information

@IBAction func openInAppleMaps(sender: AnyObject)
{
    let placemark = MKPlacemark(coordinate: destinationCoordinate!, addressDictionary: nil)

    mapItem = MKMapItem(placemark: placemark)

    mapItem.openInMapsWithLaunchOptions(
        [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,
        MKLaunchOptionsMapTypeKey: MKMapType.Standard.rawValue,
        MKLaunchOptionsShowsTrafficKey: true ])

}
Run Code Online (Sandbox Code Playgroud)

这会打开地图应用程序,但我无法弄清楚如何传递特定选定的MKRoute信息,以便用户无需从Apple地图应用程序中的所有可能路线重新选择.

我不确定这是否可能,所以任何指针都会有所帮助.谢谢!

mapkit ios apple-maps swift ios8

15
推荐指数
1
解决办法
637
查看次数

当我在应用程序中按下按钮时,如何才能打开谷歌地图?

我有这个应用程序,当用户按下我的应用程序中的按钮时,我想使用谷歌地图或苹果地图打开.我怎么能这样做?有没有像打开应用程序的地图的链接或其他东西?如果你能指出我正确的方向,那将是非常有帮助的.谢谢!我按下这个按钮设置如下:

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {

    for touch in (touches ) {
    let location = touch.locationInNode(self)
    let node = self.nodeAtPoint(location)

    if node.name == "openMaps" {

     //code to open google maps or apple maps....

    }
Run Code Online (Sandbox Code Playgroud)

xcode google-maps ios apple-maps swift

14
推荐指数
2
解决办法
1万
查看次数