Giter Site home page Giter Site logo

karinberg / xamarin.heremaps Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 2.0 122.58 MB

Xamarin Binding library to make HEREMaps Premium Edition SDKs (v.3.15) available for Xamarin.iOS and Xamarin.Android Apps.

License: MIT License

C# 37.85% HTML 3.74% Objective-C 47.79% C 0.27% Lua 10.08% Shell 0.16% Ruby 0.01% Swift 0.10%
xamarin xamarin-android-binding xamarin-ios-binding heremaps

xamarin.heremaps's Introduction

Xamarin.HEREMaps

Xamarin Binding library to make HEREMaps Premium Edition SDKs (v.3.15) available for Xamarin.iOS and Xamarin.Android Apps.

Requirements:
You need to register at https://developer.here.com and get a license for the HEREMaps Premium Edition SDKs.

Compatibility:
iOS:

  • HERE iOS SDK supports iOS 12 or above. iOS 12 is recommended for optimal operation.
  • The Nuget package only contains the ARM64 cpu architecture because otherwise the package exceeds the size limitation of nuget.org
  • At the moment not the whole functionality of the SDK is binded. So only the following header files are binded and can be used inside a Xamarin.iOS app: ios-binded-headers
  • Not supported yet:
    • NMAMapView software renderer
    • NMAARMeshObject
    • NMAFloatMesh
    • NMAGeoMesh
    • NMAMapGeoModel
    • NMAMapLocalModel
    • no class from the "Custom Location Extension 2"
    • no class from the "Fleet Telematics Custom Route"
    • NMAMapFTCRRoute

Android:

  • Minimum supported API Level of the used HEREMaps SDK is 17 which corresponds Android 4.2.x "Jelly Bean". (android:minSdkVersion) Target SDK version is 29 which corresponds Android 10.0 "Q" (android:targetSdkVersion)

Binding project Sample project NuGet
Xamarin.Android.HereMaps Xamarin.Android.HereMapsTestApp NuGet
Xamarin.iOS.HereMaps Xamarin.iOS.HereMapsTestApp NuGet

License

MIT Licence

Binding documentation

iOS Binding: notes
Android: notes

Git hints

Because the iOS and Android native HereMaps libraries (NMAKit and HERE-sdk.zip) are larger than 100MB, I have to use Git Large File Storage (Git LFS) to add them to the github repository. Type git lfs ls-filesto see which files are managed by Git LFS. Type git lfs trackto see the tracked patterns Type git untrack "*.gif" to configure Git LFS to stop tracking GIF files Type git track "*gif" to configure Git LFS to start tracking GIF files See https://git-lfs.github.com for more info about Git Large File Storage

xamarin.heremaps's People

Contributors

karinberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

vasenevea moo24

xamarin.heremaps's Issues

Linking issues with iOS

This was already reported in issue #3 by @poojagaonkar but unfortunate not solved.

Since the issue was closed I'm starting this again because I'm facing exact the same problem.
272 compiler errors like this:

MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobStartedEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobStartedEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityMessage. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityMessage' could not be found in any of the libraries or frameworks linked with your application.

Any ideas?

Specified cast is not valid

When I run your Xamarin.Android test sample.

I am getting Specified cast is not valid in MapFragmentView where Java.lang.Object is converted to AbstractList

https://github.com/KarinBerg/Xamarin.HEREMaps/blob/master/Xamarin.Android.HereMapsTestApp/MapFragmentView.cs

StackTrace
at Xamarin.Android.HereMapsTestApp.MapFragmentView+RouterListener.OnCalculateRouteFinished (Java.Lang.Object results, Java.Lang.Object routingError) [0x00011] in D:\MapBox\HereMap\Xamarin.Android.HereMapsTestApp\MapFragmentView.cs:131
at Com.Here.Android.Mpa.Routing.IRouterListenerInvoker.n_OnCalculateRouteFinished_Ljava_lang_Object_Ljava_lang_Enum_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_p0, System.IntPtr native_p1) [0x0001a] in D:\MapBox\HereMap\Xamarin.Android.HEREMaps\obj\Debug\generated\src\Com.Here.Android.Mpa.Routing.IRouter.cs:91
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.15(intptr,intptr,intptr,intptr)

I have specific requirement of doing Navigation in map. If you do have any sample for that please help me to find it.

Latest SDK

Since the premium SDK is being discontinued, do you have plans to support the latest SDKs? Does you library include turn-by-turn navigation?

Linking issues

Hi,

I am trying to create a basic functionality with using the binding. But when I try to build the project it does not build and gives multiple errors :-

`MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARBillboardObject. The symbol 'OBJC_CLASS$_NMAARBillboardObject' could not be found in any of the libraries or frameworks linked with your application.

MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARCameraParameters. The symbol '_OBJC_CLASS_$_NMAARCameraParameters' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARController. The symbol '_OBJC_CLASS_$_NMAARController' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARIconObject. The symbol '_OBJC_CLASS_$_NMAARIconObject' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARModelObject. The symbol '_OBJC_CLASS_$_NMAARModelObject' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARObject. The symbol '_OBJC_CLASS_$_NMAARObject' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARPolylineObject. The symbol '_OBJC_CLASS_$_NMAARPolylineObject' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAARPoseReading. The symbol '_OBJC_CLASS_$_NMAARPoseReading' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAdasisV2Engine. The symbol '_OBJC_CLASS_$_NMAAdasisV2Engine' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAdasisV2MessageConfiguration. The symbol '_OBJC_CLASS_$_NMAAdasisV2MessageConfiguration' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAddress. The symbol '_OBJC_CLASS_$_NMAAddress' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAddressFilter. The symbol '_OBJC_CLASS_$_NMAAddressFilter' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAApplicationContext. The symbol '_OBJC_CLASS_$_NMAApplicationContext' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAudioFileOutput. The symbol '_OBJC_CLASS_$_NMAAudioFileOutput' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAudioManager. The symbol '_OBJC_CLASS_$_NMAAudioManager' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAudioOutput. The symbol '_OBJC_CLASS_$_NMAAudioOutput' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAutoSuggest. The symbol '_OBJC_CLASS_$_NMAAutoSuggest' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAutoSuggestPlace. The symbol '_OBJC_CLASS_$_NMAAutoSuggestPlace' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAutoSuggestQuery. The symbol '_OBJC_CLASS_$_NMAAutoSuggestQuery' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAutoSuggestSearch. The symbol '_OBJC_CLASS_$_NMAAutoSuggestSearch' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAAutoSuggestionRequest. The symbol '_OBJC_CLASS_$_NMAAutoSuggestionRequest' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMABasicClusterStyle. The symbol '_OBJC_CLASS_$_NMABasicClusterStyle' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACategory. The symbol '_OBJC_CLASS_$_NMACategory' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACategoryFilter. The symbol '_OBJC_CLASS_$_NMACategoryFilter' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACategoryGraphRequest. The symbol '_OBJC_CLASS_$_NMACategoryGraphRequest' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAClusterLayer. The symbol '_OBJC_CLASS_$_NMAClusterLayer' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAClusterStyle. The symbol '_OBJC_CLASS_$_NMAClusterStyle' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAClusterTheme. The symbol '_OBJC_CLASS_$_NMAClusterTheme' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAClusterViewObject. The symbol '_OBJC_CLASS_$_NMAClusterViewObject' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACompositeView. The symbol '_OBJC_CLASS_$_NMACompositeView' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAContactDetail. The symbol '_OBJC_CLASS_$_NMAContactDetail' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACoreRouter. The symbol '_OBJC_CLASS_$_NMACoreRouter' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACountryInfo. The symbol '_OBJC_CLASS_$_NMACountryInfo' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACustomConfigurations. The symbol '_OBJC_CLASS_$_NMACustomConfigurations' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACustomizableColor. The symbol '_OBJC_CLASS_$_NMACustomizableColor' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACustomizableScheme. The symbol '_OBJC_CLASS_$_NMACustomizableScheme' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMACustomizableVariable. The symbol '_OBJC_CLASS_$_NMACustomizableVariable' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADevicePositionSource. The symbol '_OBJC_CLASS_$_NMADevicePositionSource' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADirectionalLight. The symbol '_OBJC_CLASS_$_NMADirectionalLight' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADiscoveryLink. The symbol '_OBJC_CLASS_$_NMADiscoveryLink' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADiscoveryPage. The symbol '_OBJC_CLASS_$_NMADiscoveryPage' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADiscoveryRequest. The symbol '_OBJC_CLASS_$_NMADiscoveryRequest' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMADynamicPenalty. The symbol '_OBJC_CLASS_$_NMADynamicPenalty' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHLink. The symbol '_OBJC_CLASS_$_NMAEHLink' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHLinkInformation. The symbol '_OBJC_CLASS_$_NMAEHLinkInformation' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHLinkRange. The symbol '_OBJC_CLASS_$_NMAEHLinkRange' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHMapAccessor. The symbol '_OBJC_CLASS_$_NMAEHMapAccessor' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHMetaData. The symbol '_OBJC_CLASS_$_NMAEHMetaData' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHPathTree. The symbol '_OBJC_CLASS_$_NMAEHPathTree' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHPathTreeRange. The symbol '_OBJC_CLASS_$_NMAEHPathTreeRange' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHPosition. The symbol '_OBJC_CLASS_$_NMAEHPosition' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAEHSlopeDataPoint. The symbol '_OBJC_CLASS_$_NMAEHSlopeDataPoint' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAElectronicHorizon. The symbol '_OBJC_CLASS_$_NMAElectronicHorizon' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAExtendedAttribute. The symbol '_OBJC_CLASS_$_NMAExtendedAttribute' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityCustomEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityCustomEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityCustomMessage. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityCustomMessage' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityError. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityError' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityIssue. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityIssue' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobCancelledEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobCancelledEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobFinishedEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobFinishedEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobMessage. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobMessage' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobRejectedEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobRejectedEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityJobStartedEvent. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityJobStartedEvent' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityMessage. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityMessage' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAFleetConnectivityService. The symbol '_OBJC_CLASS_$_NMAFleetConnectivityService' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAGeoBoundingBox. The symbol '_OBJC_CLASS_$_NMAGeoBoundingBox' could not be found in any of the libraries or frameworks linked with your application.
		
MTOUCH : error MT5211: Native linking failed, undefined Objective-C class: NMAGeoCoordinates. The symbol '_OBJC_CLASS_$_NMAGeoCoordinates' could not be found in any of the libraries or frameworks linked with your application.

`

These are few of them. I have selected Linker behaviour to be "Link framework and sdks only" and supported architectures to be x86_64.

Can you please help me out here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.