在 Esri 地图中单击位置按钮时移动到当前位置
Move to current location when location button clicked in Esri map
当用户单击当前位置按钮时,需要移动到 Esri Map 中的当前位置。我试图找出 Esri 地图
的相关信息,但找不到任何相关信息
我执行了以下代码,但它不起作用
//MARK:
//MARK: current location button clicked
func btnCurLoc_Clicked(_ sender:UIButton)
{
arcGISMapView.locationDisplay.startDataSource()
}
如果您希望地图自动缩放到当前位置,您还需要在 locationDisplay 上设置 autopan mode
到选项之一 here
最基本的居中是 AGSLocationDisplayAutoPanModeRecenter。
swift 4 和 Esri ios SDK 100.1 示例;
func locationOpen(){
self.mapView.locationDisplay.start { _ in
let x:Double = (self.mapView.locationDisplay.mapLocation?.x)!
let y:Double = (self.mapView.locationDisplay.mapLocation?.y)!
DispatchQueue.main.async {
if (self.mapView.locationDisplay.started == false)
{
// permission location
}
else
{ // zoom to geometry
self.mapView.setViewpointCenter(AGSPoint(x: x, y: y, spatialReference: AGSSpatialReference.webMercator()), scale: self.mapView.mapScale, completion: nil)
}
}
}
}
当用户单击当前位置按钮时,需要移动到 Esri Map 中的当前位置。我试图找出 Esri 地图
的相关信息,但找不到任何相关信息我执行了以下代码,但它不起作用
//MARK:
//MARK: current location button clicked
func btnCurLoc_Clicked(_ sender:UIButton)
{
arcGISMapView.locationDisplay.startDataSource()
}
如果您希望地图自动缩放到当前位置,您还需要在 locationDisplay 上设置 autopan mode 到选项之一 here 最基本的居中是 AGSLocationDisplayAutoPanModeRecenter。
swift 4 和 Esri ios SDK 100.1 示例;
func locationOpen(){
self.mapView.locationDisplay.start { _ in
let x:Double = (self.mapView.locationDisplay.mapLocation?.x)!
let y:Double = (self.mapView.locationDisplay.mapLocation?.y)!
DispatchQueue.main.async {
if (self.mapView.locationDisplay.started == false)
{
// permission location
}
else
{ // zoom to geometry
self.mapView.setViewpointCenter(AGSPoint(x: x, y: y, spatialReference: AGSSpatialReference.webMercator()), scale: self.mapView.mapScale, completion: nil)
}
}
}
}