Here Maps how to create address suggestions iOS SDK Premium? - ios

I'm developing an iOS app using Here Maps. Current SDK version is 3.1, but I also checked with 3.3.
The app has a text field for searching the address. It is essential to suggest the address for the user of the closest partial search string, like autosuggestion.
Currently, I'm using geocoder request:
NMAGeocodeRequest *request = [[NMAGeocoder sharedGeocoder]
createGeocodeRequestWithQuery:searchText searchRadius:10000
searchCenter:[currentPosition coordinates]];
with current position of the iPhone (checked) and radius 10km.
But in result I'm receiving results from all over the world.
Is there a better way to do it with Here Maps?

You can use NMAAutoSuggestionRequest, it handles this use case.
[1] Text AutoSuggestion Requests User Guide

Related

How to access custom NMAVenue3dVenue created with HERE Venue Map Admin Tool with Here Maps iOS Premium SDK?

Already done:
Step 1:
Create or edit NMAVenue3dVenue with HERE Venue Map Admin Tool
Step 2:
Get App ID, App Code and License ID with the same account that was used to create the custom venue.
Step 3:
Integrate data from step 2 into ios project
Step 4:
Make sure here maps SDK is loading without any errors
Step 5:
Restart Xcode and clean cache
Result:
NMAVenue3dService listener function venueServiceDidInitialize(_ venueService: NMAVenue3dService!, withResult result: NMAVenue3dServiceInitializationStatus) (with result online success) and venueService(_ venueService: NMAVenue3dService!, didGet venue: NMAVenue3dVenue!, with venueInfo: NMAVenue3dVenueInfo!, with status: NMAVenue3dServiceVenueLoadStatus) getting calls but always with an unexpected venue. (The coordinates for this venue are okay)
I was also trying to obtain custom created NMAVenue3dVenue by manually asking NMAVenue3dService for it to find with specific coordinates and radius or unique id. It seems like NMAVenue3DService is not able to find the custom venue.
Please help me to get connection between custom created private or edited public venue and here maps sdk ios.
Thank you
Assuming the custom map being created is a image-based indoor maps , then it would not be available via the Mobile SDK.
Reference Documentation: https://indoor.here.com/#/tools/help-text-2
Custom image-based indoor maps are only meant for testing deployment
and indoor positioning in HERE Indoor Radio Mapper. The image-based
indoor map will not be exposed to applications via HERE Mobile SDK.

App with custom URL callback and custom search URL

I'm looking for recommendations for an iOS barcode scanner app. Specifically for iPad which will support a custom URL callback to enable the app to be launched from a web browser.
Additionally, it needs to support and a custom search URL which will send the user back to the website once the barcode has been decoded into a URN (SKU).
I have discovered ZBar which is an excellent app, unfortunately it doesn't support custom URL callback and it's designed for the iPhone.
Another app pic2shop PRO seems to tick these boxes, but it's relatively expensive at £10.49 and the setup will require somewhere in the region of 200 installs.
I did a similar project using the free version of pic2shop . The thing is that the free version can read only these types of barcodes : UPC-A, UPC-E, EAN-13, EAN-8 , according to the documentation of the app.
Pic2shop is a free barcode scanner app available for iOS® and Android®. It reads UPC-A, UPC-E, EAN-13, EAN-8 and QR codes. The app also display comparison shopping results for UPC and EAN.
From my personal experience, I can say that it scans and decodes the barcode very fast and very accurate.
In my project the app is launched from a webpage, it works for both android and ios. In order to get it working you have to invoke the pic2shop app from a url and then set your callback address. You will find the decoded barcode data as a value to a parameter in the callback url. To help you more, you can get those values using this javascript function found here.
For example:
<input type=button OnClick="scan();" value="Scan Barcode">
<script>
function scan(){
window.location="pic2shop://scan?callback=http://yourwebsiteurl.com/index.html?barcode=ean"
}
</script>
As soon as the item is successfully scanned it will redirect you to the callback url with the actual barcode number as a value to a parameter. For example http://yourwebsiteurl.com/index.html?barcode=5123548745123. I already told you how to get the value of a url parameter with javascript.
PDF417.mobi Pro barcode scanner app supports that use case.
Note: I'm a developer on that project.
Basically, the app can be launched from any other app, including a web application, when url in the form: pdf417://scan?type=PDF417,UPCA&callback=myscheme://myaction is launched.
The app then scans the barcode, in multiple formats, (PDF417 and UPCA in this example), until the result is obtained.
Then, the app opens the URL myscheme://myaction. In your case, this can be your web service, http://www.somemyscanner.com/service.
Specifically, it will open the URL using format: http://www.somemyscanner.com/service?data=[data]&type=[type].
You can then use those parameters to implement your desired functionalities.
I tried the PDF417 app and it is EXTREMELY expensive (for an app - $28) and does not work. I bought it anyway because I am trying to solve the same issue and I can tell you it is not the solution for general barcode scanning.
It might work with pdf417 barcodes, but those are few and far between and I haven't been able to get it to work. I definately does not support any standard barcode formats. It also has no settings panel (in settings) and the tap target in the app that should be settings just take you to the company web site.
I am still testing other apps but haven't found any app that does what you ask, Red Laser used to but it no longer has that functionality.

Get human readable address using Google maps iOS sdk

I am developing an iOS app which integrates google maps iOS sdk .
In my GMSMapView I have dropped a GMSMarker, I want to set the title of the marker with location name . I have tried GMSAddress, GMSGeocoder and GMSReverseGeocodeResult but I could not get the exact location name. How can get the complete address of the current location.
This post should have what you're after. Basically upgrade to v1.7 and use GMSAddress
The linked post includes a code sample you can use as well.

Google Maps SDK for iOS doesn't display map content

I'm using the current version 1.1.2 of Google Maps SDK for iOS. The map only displays the Google logo, the current location and the added marker. But no map content whatsoever:
I correctly registered the API key:
BOOL result = [GMSServices provideAPIKey:#"<my key>"];
the result is YES and I verified that the bundleIdentifier matches with the API console. I load the GMSMapView from a storyboard and set the camera in my -viewDidLoad:
self.mapView.camera = [GMSCameraPosition cameraWithLatitude:0 longitude:0 zoom:2];
This is logged by GMSMapView:
Failed to make complete framebuffer object 8cd6
Failed to make complete framebuffer object 8cd6
Google Maps SDK for iOS version: 1.1.2.2533
GMSZoomTableQuadTree lacks root zoom table for tile type (mapType: 10)
GMSZoomTableQuadTree lacks root zoom table for tile type (mapType: 15)
Any idea what could cause this problem?
Found the solution myself.
I'm using Auto Layout. Apparently, in -viewDidLoad the Auto Layout hasn't yet done its work and my GMSMapView still had a CGRectZero frame. GMSMapView seems to react very picky on a zero frame.
[self.view layoutIfNeeded];
prior to setting the camera solved the problem for me.
This could also be caused by not having the right bundle ID entered under the API key in your Google API Console.
Just in case someone comes here and nothing works...
I was having this problem and got bored so I unzoomed the map and discovered I messed up with the location and my map center was in the middle of a desert!
Map was working just fine.
So try to unzoom, just in case.
If you have included both GoogleMaps.framework and GoogleMapsM4B.framework (Maps for Business) in your XCode project, remove GoogleMapsM4B.framework.
Otherwise you'll need to enable Google Maps Mobile SDK for Work through Enterprise Support portal instead of Google Maps SDK for iOS from Cloud Console.
I also had the same problem.The issue was I used two iOS Api keys in 2 different places in code.Please check whether you have used correct API Key (iOS Key) from google Api console.Use the same key through out your app.

How to integrate new Google map app with ios app

Google Map is now available in Appstore for IOS 6. I have a application which utilises MAPKIT and WebView to show Driving direction using Google webservices.
For showing Route in Native Apple MAP app, i use codes similar to this..
MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];
NSDictionary *options = #{
MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving
};
[mapItem openInMapsWithLaunchOptions:options];
I want to show Route to the user in the New Google MaP App installed on user device, embeed its UI within a View in my app.
Do guide me.
Goole have released latest API for IOS 6.0 and up.
For that follow the step below
You have to registered your app and get the keys from Map IOS access.
Refer the following link for further detail
New way to add google maps in iOS 6 app
For displaying the directions within the GoogleMaps app, using the new GoogleMaps URL scheme along the lines of:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Taken from the documentation should help you. A short browse from there, you will also notice that Google have released an SDK for the new GoogleMaps, with access tokens being rolled out slowly. Doc
seemed to cut off the end of my answer, but #Hi Ren has filled in the end with the link to the documentation to the new SDK.

Resources