我使用Google Maps Api来制作地图和标记。
我通过设置:mapView.accessibilityElementsHidden = false
来启用标记的可访问性
现在我在地图上的所有自定义标记都有可访问性ID,例如:myappname.GMSPlaceMarker_somenumbers
,例如myappname.GMSPlaceMarker_0x600000170200
。
我怎么能为所有引脚设置一个accessibilityIdentifier
,例如Map pin
?
我已经尝试过:
marker.accessibilityLabel = "Map pin"
,但它设置label
值,而不是id
marker.title = "Map pin"
没什么变化marker.setValue("Map pin", forKey: "accessibilityIdentifier")
没什么变化我的marker
是let marker = GMSPlaceMarker()
所在的class GMSPlaceMarker: GMSMarker
试试这个,
func markPoints() {
var annotationCoord : CLLocationCoordinate2D = CLLocationCoordinate2D()
annotationCoord.latitude = (selectedLocation.latitude as NSString).doubleValue
annotationCoord.longitude = (selectedLocation.longitude as NSString).doubleValue
let annotationPoint: MKPointAnnotation = MKPointAnnotation()
annotationPoint.coordinate = annotationCoord
annotationPoint.title = selectedLocation.name
annotationPoint.subtitle = "Anand: 7348858742"
theMap.addAnnotation(annotationPoint)
}
如果你使用swift 4尝试这个,
var destionationMarker: GMSMarker!
func setupDriverMarker(coordinate: CLLocationCoordinate2D) {
destionationMarker = GMSMarker(position: coordinate)
for pin: GMSMarker in self.DestinationMarkerArray {
if pin.userData as! String == "drivermarker" {
pin.map = nil
}
}
destionationMarker.title = "Your Title"
destionationMarker.appearAnimation = GMSMarkerAnimation.pop
let images = #imageLiteral(resourceName: "ic_map_marker")
destionationMarker.icon = images
destionationMarker.userData = "drivermarker"
destionationMarker.opacity = 1
destionationMarker.map = journeyMapView
}
像这样实现
DriverLocation = CLLocationCoordinate2D(latitude: 21.2362546, longitude: 72.8751862)
setupDriverMarker(coordinate: DriverLocation)