mkmapview - 从 MKMapView 上的 CLLocationCoordinate2D 数组添加点不起作用
问题描述
我正在使用以下代码在按钮单击时将存储的 pin 点添加到 myMKMap ;
func addPoint(){
var count: Int = 0
repeat {
let pin = MKPointAnnotation()
pin.coordinate = CLLocationCoordinate2D(mypointList[count])
pin.title = placenames[count]
pin.subtitle = placedetails[count]
mymap.addAnnotation(pin)
count += 1
}
while count < 3
mypointList[] 如下所示;
var mypointList = [CLLocationCoordinate2D(latitude: 37.19722, longitude: 25.82189),
CLLocationCoordinate2D(latitude: 37.20103, longitude: 25.83009),
CLLocationCoordinate2D(latitude: 37.20092, longitude: 25.81781),
CLLocationCoordinate2D(latitude: 37.19989, longitude: 2259.82449)]
var placenames: [String] = ["sample place 1", "sample place 2", "sample place 3", "sample place 4"]
var placedetails: [String] = ["sample place detail 1", "sample place detail 2", "sample place detail 3", "sample place detail 4"]
但是当我运行应用程序时没有添加引脚。
顺便说一句,以下代码在重复循环中替换为“pin.coordinate = CLLocationCoordinate2D(mypointList[count])”行时有效;
pin.coordinate = CLLocationCoordinate2D(latitude: 37.1972, longitude: 25.2744)
数组有问题吗?
谢谢
解决方案
然而,这听起来有点奇怪,我已经通过替换以下代码解决了我的问题:
pin.coordinate = CLLocationCoordinate2D(latitude: mypointList[count].latitude as! CLLocationDegrees, longitude: mypointList[count].longitude as! CLLocationDegrees)
它现在正确显示引脚。
推荐阅读
- sql - 如何在Postgresql中将表的每一行扩展为可变数量的行
- dom - 赛普拉斯:我在获取文本框“帮助!”时遇到问题。
- javascript - 如何使用它们的键从嵌套的 JSON 数据数组中提取最里面的值?
- reactjs - 就地编辑列表项(React)
- javascript - Jest 模拟单击可能会多次呈现的组件的一个实例
- python-3.x - argparse 的非英语参数
- webpack - 将 eslint-webpack-plugin 添加到项目中以提供 Typescript linting
- liferay - Unresolved requirement: Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc; version="[2.0.0,3.0.0)"
- kubernetes - 如果 ActiveMQ Artemis 集群在 Kubernetes 环境中运行,备份节点是否需要 ON_DEMAND 负载平衡才能运行?
- header - 后缀头检查