ios – 用静态图像替换MKMapView

ios – 用静态图像替换MKMapView,第1张

概述是否可以显示静态图像而不是默认的MapView,其中当前位置始终是图像的中心? 我想显示中心为当前位置的图像,并根据坐标(距离和方向)在其上添加引脚.我想计算它之间的距离,也许根据手机指向的方向旋转图像/引脚. 我认为使用MKMapView最简单,并用静态图像替换它,因为我可以使用所有内置功能,但是现在似乎无法将地图更改为静态图像? 我也可以直接在图像上绘画,但是如何工作呢?我应该这样做吗?我想这 是否可以显示静态图像而不是默认的MapVIEw,其中当前位置始终是图像的中心?

我想显示中心为当前位置的图像,并根据坐标(距离和方向)在其上添加引脚.我想计算它之间的距离,也许根据手机指向的方向旋转图像/引脚.

我认为使用MKMapVIEw最简单,并用静态图像替换它,因为我可以使用所有内置功能,但是现在似乎无法将地图更改为静态图像?

我也可以直接在图像上绘画,但是如何工作呢?我应该这样做吗?我想这将是极坐标的东西.

解决方法 如果需要,您可以使用Google的 static map API.这非常简单.这是来自哥本哈根DK某处的静态图像:

NSData *data = [NSData dataWithContentsOfURL:@"http://maps.GoogleAPIs.com/maps/API/staticmap?center=55.675861+12.584574&zoom=15&size=400x400&sensor=false"];UIImage *img = [UIImage imageWithData:data];

然后,您可以根据需要添加标记 – 请查看here如何添加它们.这是一个测试URL,用于在中间添加带有文本“M”的红色标记:

http://maps.googleapis.com/maps/api/staticmap?center=55.675861+12.584574&zoom=15&size=400×400&sensor=false&markers=color:red%7Clabel:M%7C55.675861+12.584574

解码URL的标记部分:

markers=color:red%7Clabel:M%7C55.675861+12.584574

你得到这个:

markers=color:red|label:M|55.675861 12.584574

编辑:

Here是一种刮擦地图控件图像的方法.如果我们提取答案的重要部分,这基本上是你可以做到的:

UIGraphicsBeginImageContextWithOptions(map.bounds.size,map.opaque,0.0);[map.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *img = UIGraphicsGetimageFromCurrentimageContext();UIGraphicsEndImageContext();

请注意,需要从UIVIEw派生地图,这意味着您可以在各种控件上使用此技巧.

编辑2:

您还应该看看this article.真的写得很好,包括与覆盖,引脚等相关的很多主题.

总结

以上是内存溢出为你收集整理的ios – 用静态图像替换MKMapView全部内容,希望文章能够帮你解决ios – 用静态图像替换MKMapView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1006207.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存