This is an extended, bindable map control based on Xamarin.Forms.Maps. Here is a list of some available features:
- Customize pins
- Custom image
- Draggable
- and more
- Add overlays
- Circles
- Lines
- Custom polygons
- Add and calculate routes
- Start place prediction queries
- Add custom map tiles via url template
- Additional commands available
- Long press
- Map click
- and many more
Look at the wiki for all available features and documentation.
Install the NuGet package.
Add your Google Maps API key to your AndroidManifest.xml
.
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR API KEY" />
Following permissions should be added to your AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
If you plan to use the automatic route calculation, a valid key for the Google Maps Directions API is required. You can set it up anywhere in your PCL, simply call GmsDirection.Init("YOUR API KEY");
.
If you plan to use the NativePlacesApi
make sure you have a valid key for the Google Places API and set the key in your AndroidManifest.xml
. Replace the following line
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR API KEY" />
with
<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR API KEY" />
Make sure you call TKCustomMapRenderer.InitMapRenderer();
in FinishedLaunching
in your AppDelegate.cs
.
If you plan to use the NativePlacesApi
also call NativePlacesApi.Init();
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
Forms.Init();
FormsMaps.Init();
TKCustomMapRenderer.InitMapRenderer();
NativePlacesApi.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}