maps windows phone 8 - windows-phone-8

I am trying to make an application for windows phone 8 that could track current location of user and gives a route from current location to desired destination location.
With existing maps feature (bing, Nokia maps) it is not possible to track the location areas for Karachi Pakistan by their respective names. For example, if I want to get the route from pizza hut, Karachi to dolmen mall, Karachi, it will never show a route since the areas are not marked in the map.
This problem doesn't occur for people living in the US I suppose, since I saw many tutorials where exact locations are shown by just typing in the area names in the search bar (as for Redmond and Chicago). What should we, the users of elsewhere do.... while if we see Google maps, all areas even of Karachi, Pakistan are marked.
please help.

In Bing Maps, if you have two coordinates that are on roads that are drawn on Bing Maps you can get a route between them anywhere in the world. WP8 uses just Nokia data which is only one of several data providers used by Bing Maps. You can use the Bing Maps REST services to route between any two coordinates that are on roads in the world, including Pakistan. Here is some information about the Bing Maps REST routing service:
http://msdn.microsoft.com/en-us/library/ff701705.aspx
http://msdn.microsoft.com/en-us/library/jj819168.aspx
http://msdn.microsoft.com/en-us/library/jj870778.aspx

Bing Maps are very powerful and easy to implement but unfortunately they are not supported in Pakistan. Due to restriction you are not able to find route between two geo location point or places. But Microsoft promised to give its support in Pakistan very soon as they are working on it as well.
The link given below will show you the restriction of bing maps in different regions.
http://msdn.microsoft.com/en-us/library/jj670541.aspx
I have written a blog post in which I have drawn a route between two location points but it will not work for you as I already told you.
http://dev-bingmaps.blogspot.com/
Now there is one solution in from which you can find route that is to use google maps.

Related

Geolocation: How to get a uniqueID for a street/block?

Background I'm a bit new to google maps/mapping sdks in general. I want to create a street by street "heat" map of an area on iOS. As an easy to understand example, let's say it will be for the purpose of mapping daily puppy sightings in a city. The data changes regularly, we need to show that certain streets have more puppy traffic than others.
Similar to the ones pictured here
https://blog.mapbox.com/spotangels-mobile-parking-maps-30db4b10aee7
And here
https://www.trulia.com/local/san-francisco-ca/type:traffic_volume_live
To do this, I would like to get a unique ID for each street block.
Something like this:
Question: How can I tell when a user entered a unique street? How can I get a unique street ID?
Related side question: If it's not possible in google maps, links to doing it in OpenStreetMap or Mapbox would be appreciated.
Places I've looked
How to get an use an unique identifier for each street in google maps api
Issue: No answer
Highlighting whole street with some maps API
Issue: Info from 2010
Google Maps: Get coordinates of a street block
Issue: No answer
Get street graph for a game using Google Maps API
Issue: Info from 2012
Map Highlight Odd/Even Side of Street
Issue: Unanswered
Display traffic data with maps
Issue: Unanswered
How to get only street/road coordinates via reverse geocoding (Google Maps API)
Streets in a radius
How to get all roads around a given location in OpenStreetMap?
Partial solution OSM
This should be doable with OSM data.
Retrieve the streets around you (e.g. using Overpass API and the around query). Determine the way you are currently driving on, then split it at each intersection node. Now you have street segments similar to your second image. The start and end node ID of each segment could be used as (temporary¹) identifier.
¹ temporary, because IDs in OSM can change eventually.

Better result in Google map using beacons in Indoor search

Would it be possible make Google maps aware of our beacons via their registry or api or something, so that google map can accurately give indoor direction to users in a facility that is under our control(where we can deploy beacons)?
Example: In a mall we own, can we place beacons and submit them to Google Maps so it can give better results?
Some links I found, but can't figure out an answer:
https://developers.google.com/beacons/
https://developers.google.com/beacons/proximity/guides
https://www.google.co.in/maps/about/partners/indoormaps/
https://play.google.com/store/apps/details?id=com.google.android.apps.insight.surveyor
Google used to develop this beacon-based location service call Google Here but it was scrapped due to the reasons of privacy, but then you can do the following to get your beacons locationing up.
Let say you have multiple beacons in one mall.To make this explanation simple, just treat the indoor maps and normal maps as the same thing, and those beacons you going to add are like the places in the Google Maps.
First of all you need to make your building floor plan available on the Google Maps. You can do so by using the following steps to submit your beacons location with the floor maps of the building, so that your beacons location can be automatically align with your stores/building.
https://support.google.com/maps/answer/2803784?co=GENIE.Platform%3DDesktop&hl=en
After your floor plans appear on Google Maps, you can submit your beacons location using the Map Marker tool (Retired March 2017, moved to Google Maps after that).
You can then use the Google Maps API's Map Object to work with your indoor map, including getting location of all your beacons.
https://developers.google.com/maps/documentation/android-api/map#indoor_maps
The IndoorBuilding Object allows you to get the active level that you are accessing. You can use the function getLevels() to get all the levels in the building, and then use getActiveLevelIndex() to get active level you are working on.
After getting to the right floor, what is left is the interaction between Google Beacon API with the maps you created.
latLng and indoorLevel in the Proximity Beacon API would then return the exact location and detail level that your beacons located.
You can use this link to upload indoor map of a building.
https://maps.google.com/floorplans/find
Submit the details of floor and everything.
Hope it will help.
I believe there are no current plans to use registered beacons for directions indoors, or even for lat/long type location (more for semantic place inference), but I feel it is a very good FR so I went ahead and added it to the Android issue tracker:
Including support for BLE beacons in FusedLocationProvider.
Please star it to get updates.
As you can read in the other reply beacons can be used currently to improve indoor location accuracy for 3rd party apps, but it requires a lot of work by the developer and it is not supported by the Google Maps Mobile.

Find out if a location/place has a floor plan in google maps api

Based on a address/location/place I would like to check if this place has a floor plan or not in google maps. Unfortunately in couldnt find anything in the Google Place API or any other API from google maps.
Only when this place has a floor plan, google maps is shown .
Any ideas how I check if floor plan for a place? Any help would be appreciated.
Regards,
Sal
The Indoor Maps are available in Google Maps Android API and iOS SDK , but not int he Google Maps API JS.
Please star this issue tracker FR to get notified when this gets implemented
There is no way to programatically check if a given location is "indoor enabled".
The closest you can to such a check is the getFocusedBuilding function which will get the current focused building or null if no building is focused (implying there is no indoor map)
Indoor maps
At high zoom levels, the map shows floor plans for indoor spaces such as airports, shopping malls, large retail stores, and transit stations. These floor plans, called indoor maps, are displayed for the 'normal' and 'satellite' map types (GoogleMap.MAP_TYPE_NORMAL and GoogleMap.MAP_TYPE_SATELLITE). They are automatically enabled when the user zooms in, and they fade away when the map is zoomed out.
Indoor maps (floor plans) are available in select locations. If floor plan data is not available for a building that you would like to highlight in your application, you can:
Add floor plans to Google Maps directly. This will make your floor plans available to all users of Google Maps.
Display a floor plan as a ground overlay or tile overlay on your map. This will enable only users of your application to view your floor plans.

Finding common cross street using google maps (or API)

I'm making an application that uses google maps. The app has a database of schools with their address, coordinates etc. Given addresses of two houses, i want to find the nearest cross street between the two houses and from there I want to plot the path to one of the schools.
Is there any API or framework available.
(I'm looking for similar solution on iOS as well. I'll post a new question for iOS)
The is no API, to find the nearest cross street.
Whereas to plot the path between 2 address, you can use Google Maps DirectionsService.
A service for computing directions between two or more places.

How to find a closest street

I'm reading through Google Maps API documentation and I wonder if such a think is possible:
I specify the point (by coords)
I search for all roads, and junctions around the node (say in 1km radius)
I get parameters for the streets around (polyline coords)
Is it reachable, or google do not share that data?
Thanks in advance
Rafal
I can image writing up a little script that generates a bunch of random points within a 1km radius and then performs directions services via Google Maps API to obtain all possible routes and thus streets within a 1km radius. However, this is problematic since it is kinda against the Google Maps TOS of displaying this information only on a map within a website and not extracting data for you personal use as this would be.
A better approach would be looking into utilizing Open Street Map data where you can download street data from a specific viewport. If buying street network data is an option, you can go to a commercial outlet such as NAVTEQ or PTV which post-processes NAVTEQ data to a format for use in the transport modeling software package you mention on your blog.