问题描述
我想在地图上绘制具有来自 api 的纬度和经度的特定点。
程序流程:
问题是网络上的每个代码都与 2 点有关,因此用户 loc 和目标 loc。如果没有用户 loc,我似乎无法让它工作。然而,我已经对此进行了编码以绘制位置。但是,当我触摸地图时,地图会缩小。另一个问题是,当我得到另一个点时,前一个点也会保留在屏幕上。 (出于测试目的,我对 lat 和 lon 进行了硬编码,但是当我连接刷新的 api 代码时,先前的点仍然存在并且地图代码与此相同。lat 和 lon 通过 createAnnotation() 中的 func 参数传递。)
我的代码:
import UIKit
import MapKit
class ViewController: UIViewController,MKMapViewDelegate {
@IBOutlet weak var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
mapView.delegate = self // or connect in storyboard
createAnnotation()
}
func createAnnotation(){
let annotations = MKPointAnnotation()
annotations.coordinate = CLLocationCoordinate2D(latitude: 41.87369,longitude: -87.813293)
mapView.addAnnotation(annotations)
}}
解决方法
对于“前一个还保留在屏幕上”的问题:如果您不想继续添加新注释,请不要继续制作新注释并调用 $("#btn-enter").click(function (e) {
e.preventDefault()
。相反,请保留您添加的注释,稍后使用其坐标属性移动它。可能是这样的:
addAnnotation