一、地图
1、展示地图
let frame: CGRect
let viewId: Int64
let mapView: MAMapView
init(_ frame: CGRect, viewId: Int64, args: Any?) {
self.frame = frame
self.viewId = viewId
AMapServices.shared().enableHTTPS = true
mapView = MAMapView(frame: self.frame)
super.init()
}
func view() -> UIView {
self.mapView
}
2、标注,监听点击地图事件
启动点击地图标注监听
func setOnMapClickListener(params: NSDictionary) {
let str = params.value(forKey: "isOnMapClickListener")
if (str != nil) {
if (str as! Bool) {
let gestureSingleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
gestureSingleTap.numberOfTapsRequired = 1
mapView.addGestureRecognizer(gestureSingleTap)
}
}
}
接受点击的参数
@objc func handleTap(sender: UITapGestureRecognizer) {
if sender.state == .ended {
}
let touchPoint:CGPoint = sender.location(in: self.mapView)
let touchMapCoordinate:CLLocationCoordinate2D=mapView.convert(touchPoint, toCoordinateFrom: mapView)
print(touchMapCoordinate.latitude);
print(touchMapCoordinate.longitude);
}