4
我已經成功將Google Maps實施到Xamarin Forms項目中,但現在我想改變它的風格。我想使用a style from SnazzyMaps但我不知道該怎麼做。我已閱讀論壇,您可以從SnazzyMaps加載到應用程序的JSON,但我不知道如何做到這一點。在Xamarin Forms中使用自定義地圖樣式?
我已經成功將Google Maps實施到Xamarin Forms項目中,但現在我想改變它的風格。我想使用a style from SnazzyMaps但我不知道該怎麼做。我已閱讀論壇,您可以從SnazzyMaps加載到應用程序的JSON,但我不知道如何做到這一點。在Xamarin Forms中使用自定義地圖樣式?
在您的自定義Xamarin.Forms
GoogleMap的渲染器,你可以設置樣式與JSON內容:
Xamarin.Android例子:
googleMap.SetMapStyle(MapStyleOptions.LoadRawResourceStyle(this, Resource.Raw.map_style_night));
Xamarin.iOS例子:
googleMapView.MapType = MapViewType.Normal; // Must be normal
var styleResource = NSBundle.MainBundle.GetUrlForResource("map_style_night", "json");
googleMapView.MapStyle = MapStyle.FromUrl(styleResource, null); // DO NOT pass an NSError, hard-crash/SIGSEGV
注:做不是通過一個NSError
instan ce到MapStyle.FromUrl
或MapStyle.FromJson
與當前的Xamarin.Google.iOS.Maps綁定(v2.1.0.2
),因爲這將導致硬件崩潰(SIGSEGV
)。我不得不創建一個自定義綁定,以允許NSError作爲out
var,以確定json是否被正確解析(對於Xamarin綁定/捆綁舊版2.1.0.2
版本,也需要Google iOS的最新修補程序v2.4.30121.0
)。
我沒有「SetMapStyle」的方法 – Radu
@Radu'SetMapStyle'是在*本地* Android的GoogleMap的類中的方法,你需要一個定製的渲染器中使用它。 – SushiHangover
這就是我想要做的。我也嘗試更新所有nuget包,但該方法仍然不起作用 – Radu