在 Xamarin.iOS 中设计流量
Styling the traffic in Xamarin.iOS
有没有办法更改 MKMapView.ShowsTraffic 设置为 true 时出现的默认交通线的样式?
谢谢。
正如您可能已经发现的那样,您可以使用交通样式的最远距离就是一个布尔变量 showsTraffic,它要么显示它,要么不显示它。除了注释之外,MapKit 并不是真正可定制的,如果您不愿意使用第 3 方地图提供程序,那么这就是您必须忍受的。在我看来你有两个选择:
将自定义图块渲染器与 MKMapView 结合使用
您可以使用 MKTileOverlay class coupled with the MKTileOverlayRenderer to fetch map tiles from a 3rd party service that supports tile fetching and customization, and then show those tiles instead of the default Apple map. One such service is Google Maps Tiles API 但您需要从 Google 请求访问它(它不是普通 Google 地图 API 的一部分)并且它是付费的.
如果您仍然愿意走那条路,您可以按照 Customize MapKit’s MKMapView with Google Maps styling wizard 文章了解如何创建自定义样式并使用它从 Google 服务器请求图块。 但是,您不应该使用文章中提到的 Google 地图 API 地址,因为这会绕过官方 Google API 并直接向他们的服务器是严格不允许的,会让你被禁止 and/or 惹上麻烦。 相反,你应该使用上面链接的官方 API。
完全使用另一个地图控件
我完全知道上面只是定制交通线路的工作量很大,所以如果你不愿意投入大量的时间和金钱,我建议你使用另一个(可定制的) ) 地图控件而不是 MkMapView。有很多不同的选择,包括免费和付费。
有没有办法更改 MKMapView.ShowsTraffic 设置为 true 时出现的默认交通线的样式? 谢谢。
正如您可能已经发现的那样,您可以使用交通样式的最远距离就是一个布尔变量 showsTraffic,它要么显示它,要么不显示它。除了注释之外,MapKit 并不是真正可定制的,如果您不愿意使用第 3 方地图提供程序,那么这就是您必须忍受的。在我看来你有两个选择:
将自定义图块渲染器与 MKMapView 结合使用
您可以使用 MKTileOverlay class coupled with the MKTileOverlayRenderer to fetch map tiles from a 3rd party service that supports tile fetching and customization, and then show those tiles instead of the default Apple map. One such service is Google Maps Tiles API 但您需要从 Google 请求访问它(它不是普通 Google 地图 API 的一部分)并且它是付费的.
如果您仍然愿意走那条路,您可以按照 Customize MapKit’s MKMapView with Google Maps styling wizard 文章了解如何创建自定义样式并使用它从 Google 服务器请求图块。 但是,您不应该使用文章中提到的 Google 地图 API 地址,因为这会绕过官方 Google API 并直接向他们的服务器是严格不允许的,会让你被禁止 and/or 惹上麻烦。 相反,你应该使用上面链接的官方 API。
完全使用另一个地图控件
我完全知道上面只是定制交通线路的工作量很大,所以如果你不愿意投入大量的时间和金钱,我建议你使用另一个(可定制的) ) 地图控件而不是 MkMapView。有很多不同的选择,包括免费和付费。