All Projects → SupasinTatiyanupanwong → map-kit-android

SupasinTatiyanupanwong / map-kit-android

Licence: Apache-2.0 license
An extensive framework for map development in Android.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to map-kit-android

from-gms-to-hms
Complete guide to adding support for Huawei's mobile services and distribution platform into your apps that are already published on Google Play.
Stars: ✭ 30 (-31.82%)
Mutual labels:  gms, huawei, hms
Xamarin.Android.Huawei.Hms.Demo
Using Huawei Mobile Services in Xamarin
Stars: ✭ 25 (-43.18%)
Mutual labels:  huawei, huawei-map-kit, huawei-maps
js-markerclusterer
Create and manage clusters for large amounts of markers
Stars: ✭ 92 (+109.09%)
Mutual labels:  maps, google-maps
hms-cordova-plugin
This repo contains all of Cordova HMS plugins.
Stars: ✭ 78 (+77.27%)
Mutual labels:  huawei, hms
hms-av-pipeline-demo
HUAWEI AV Pipeline Kit sample code project, which contains the Java sample code to implement functions like video playback, video super-resolution and media asset management. C++ sample code is contained for calling MediaFilter to use the sound event detection plugin.
Stars: ✭ 14 (-68.18%)
Mutual labels:  huawei, hms
ember-google-maps
A friendly Ember addon for working with Google Maps.
Stars: ✭ 93 (+111.36%)
Mutual labels:  maps, google-maps
hms-ads-demo-kotlin
HUAWEI Ads Kit Sample code in kotlin version, which provides the banner, native, rewarded, roll, interstitial and splash ad formats for integration
Stars: ✭ 16 (-63.64%)
Mutual labels:  huawei, hms
hms-health-demo-kotlin
HMS Health demo code provides demo programs for your reference or usage. Developers can access the Huawei Health Platform and obtain sports & health data by integrating HUAWEI Health.
Stars: ✭ 21 (-52.27%)
Mutual labels:  huawei, hms
hms-push-serverdemo-php
PHP sample code encapsulates APIs of the HUAWEI Push Kit server.It provides many sample PHP programs about quick access to HUAWEI Push Kit for your reference or usage.
Stars: ✭ 21 (-52.27%)
Mutual labels:  huawei, hms
activeadmin-latlng
Active Admin plugin for setting up latitude and longitude
Stars: ✭ 34 (-22.73%)
Mutual labels:  maps, google-maps
trackanimation
Track Animation is a Python 2 and 3 library that provides an easy and user-adjustable way of creating visualizations from GPS data.
Stars: ✭ 74 (+68.18%)
Mutual labels:  maps, google-maps
hms-push-serverdemo-csharp
C# sample code encapsulates APIs of the HUAWEI Push Kit server. It provides many sample programs for your reference or usage.
Stars: ✭ 25 (-43.18%)
Mutual labels:  huawei, hms
svelte-googlemaps
Svelte Google Maps Components
Stars: ✭ 62 (+40.91%)
Mutual labels:  maps, google-maps
hms-FIDO-demo-java
HMS FIDO demo, including fido2 demo, bioauthn demo and bioauthn-androidx demo.
Stars: ✭ 17 (-61.36%)
Mutual labels:  huawei, hms
GoogleMapsHelper
An easy to integrate Model Based Google Maps Helper (SVHTTPClient, AFNetworking) That lets you Geo Code , Reverse Geocode, Get Directions , Places Autocomplete.
Stars: ✭ 21 (-52.27%)
Mutual labels:  maps, google-maps
hms-health-demo-java
HMS Health demo code provides demo programs for your reference or usage. Developers can access the Huawei Health Platform and obtain sports & health data by integrating HUAWEI Health.
Stars: ✭ 37 (-15.91%)
Mutual labels:  huawei, hms
hms-video-editor-demo
HUAWEI Video Editor Kit provides full video editing functions like video import/export, editing and rendering. This sample code is used to describe how to integrate the Video Editor Kit SDK.
Stars: ✭ 45 (+2.27%)
Mutual labels:  huawei, hms
hms-audio-editor-demo
HUAWEI Audio Kit provides a wide range of audio editing capabilities, including auido import/export/editing/extracting and format conversion. This sample code describes how to integrate the Audio Editor Kit SDK.
Stars: ✭ 24 (-45.45%)
Mutual labels:  huawei, hms
google maps
🗺 An unofficial Google Maps Platform client library for the Rust programming language.
Stars: ✭ 40 (-9.09%)
Mutual labels:  maps, google-maps
huawei-account-demo
Sample code for quickly integrate Huawei ID. HUAWEI Account Kit provides developers with simple, secure, and quick sign-in and authorization functions.
Stars: ✭ 39 (-11.36%)
Mutual labels:  huawei, hms

Map Kit

Maven Central javadoc license

Map Kit is an abstraction wrapper that encapsulates Android's Maps APIs of Google Maps SDK for Android, Amazon Maps SDK, and HUAWEI Map Kit.

Architecture

The library consists of 4 artifacts; maps-core, maps-google, maps-amazon, and maps-huawei.

maps-core artifact provides an abstraction interface to interact with Maps APIs.

maps-google artifact provides the Google Maps SDK for Android integration to Map Kit.

maps-amazon artifact provides the Amazon Maps SDK integration to Map Kit.

maps-huawei artifact provides the HUAWEI Map Kit integration to Map Kit.

Usage

Migrating from the existing APIs

Google Maps SDK Amazon Maps SDK HUAWEI Map Kit Map Kit
SupportMapFragment SupportMapFragment SupportMapFragment MapFragment
GoogleMap AmazonMap HuaweiMap MapClient
new LatLng() new LatLng() new LatLng() MapKit.newLatLng()
new *Options() new *Options() new *Options() MapKit.new*Options()
*.builder() *.builder() *.builder() MapKit.new*Builder()
*Factory.*() *Factory.*() *Factory.*() MapKit.get*Factory().*()
TileProvider.NO_TILE TileProvider.NO_TILE TileProvider.NO_TILE MapKit.noTile()

Limitation

  • Models are not Parcelable.
  • MapOptions is currently not supported.
  • StreetView is currently not supported.

Declaring dependencies

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

dependencies {
    // Optional - To grant access to the Map Kit API without platform specific implementation
    implementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-core:2.1.0'

    // To use the Google Maps SDK for Android via Map Kit
    implementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-google:2.1.0'

    // To use the Amazon Maps SDK via Map Kit
    implementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-amazon:2.1.0-alpha01'

    // To use the HUAWEI Map Kit via Map Kit
    implementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-huawei:2.1.0'
}

If both of integration artifacts are included in your final build, the implementation will be selected based on API availability upon application startup.

However, it is recommended to separate builds between them as next:

android {
    // ...
    flavorDimensions 'vendor'
    productFlavors {
        google
        amazon { applicationIdSuffix '.amazon' }
        huawei { applicationIdSuffix '.huawei' }
    }
}

dependencies {
    googleImplementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-google:2.1.0'
    amazonImplementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-amazon:2.1.0-alpha01'
    huaweiImplementation 'dev.supasintatiyanupanwong.libraries.android.kits.maps:maps-huawei:2.1.0'
}

But, make sure to have one of the integration artifacts included in your final build, otherwise an exception will be thrown at runtime.

For more information about dependencies, see Add build dependencies.

Additional documentation

Feedback

Your feedback helps make Map Kit better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues or the existing discussions in this library before you create a new one.

License

Copyright 2020 Supasin Tatiyanupanwong

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].