26
A
回答
52
當過要放大5英里半徑使用下面的代碼:
double miles = 5.0;
double scalingFactor = ABS((cos(2 * M_PI * newLocation.coordinate.latitude/360.0)));
MKCoordinateSpan span;
span.latitudeDelta = miles/69.0;
span.longitudeDelta = miles/(scalingFactor * 69.0);
MKCoordinateRegion region;
region.span = span;
region.center = newLocation.coordinate;
[mapView setRegion:region animated:YES];
2
[self.theMapView setRegion:MKCoordinateRegionMake(
[theConsumer.latLong.clLocation coordinate],
MKCoordinateSpanMake(MAP_SPAN, MAP_SPAN))
animated:YES];
到MKCoordinateSpanMake
的參數是度,1度約爲69英里在赤道。因此MAP_SPAN將是5.0/69.0
54
使用MapKit中的MKCoordinateRegionMakeWithDistance
函數。
使用轉換函數將英里轉換爲米,因爲MapKit使用米。
float MilesToMeters(float miles) {
// 1 mile is 1609.344 meters
// source: http://www.google.com/search?q=1+mile+in+meters
return 1609.344f * miles;
}
然後在你的代碼中設置地圖地區(感謝@DylanBettermann的指出來獲得5英里半徑的距離需要加倍)
mapView.region = MKCoordinateRegionMakeWithDistance(
centerCoordinate,
MilesToMeters(10.0f),
MilesToMeters(10.0f)
);
相關問題
- 1. 使用當前位置縮放MapView的問題
- 2. Android(MapView):如何在mapview中設置4英里的縮放級別?
- 3. WooCommerce免費送貨只有在20英里半徑的位置
- 4. 決定mapview的當前縮放比例
- 5. iphone mapview當前位置
- 6. MapView返回到當前位置註解?
- 7. 適用於iOS的Google Maps SDK如何識別位置是否在當前位置的5英里範圍內?
- 8. 如何使用縮放範圍獲取當前位置
- 9. MapView類不縮放用戶位置
- 10. 當我縮小時,MKMapView自動放大到當前位置
- 11. 如何在MapView中重新定位內置的縮放控件?
- 12. 如何在mapview上設置當前位置的監聽器?
- 13. 如何使用MyLocationOverlay在MapView上繪製當前GPS位置?
- 14. 當前的位置是在一個特定的半徑Android
- 15. Android的MapView的負載數據,同時縮放到位置
- 16. 在Openlayers中,我如何獲得英里的圓的半徑?
- 17. Android MapView:如何在animateTo和zoom之後保存位置/縮放?
- 18. 如何查找mapview中的當前位置
- 19. 如何放大用戶當前位置?
- 20. 在iPhone上更新/縮放到當前位置
- 21. 如何從我的當前位置繪製一條路徑到我在mapView中設置的註釋針?
- 22. mapView不縮放到座標
- 23. 縮放時保留矩形的半徑
- 24. 將縮放控件放置在MapView中
- 25. 如何在android mapview中精確顯示當前位置?
- 26. 如何在MapView上每10秒顯示一次當前位置?
- 27. 如何在Android項目中集成當前位置mapview氣球
- 28. MapKit放大到用戶當前位置
- 29. Xcode Mapkit放大到當前位置
- 30. 核心位置 - 放大當前位置
將這個代碼變焦從當前位置到半徑5英里 – Aisha 2011-02-17 05:30:23
在我的代碼中,用當前位置的用戶填寫「newLocation」變量,它將從當前位置縮放到5英里redius。 – Satyam 2011-02-17 10:47:57