Bing Maps API in Bot Framework - c#

Using .Net framework to building application. I have created a Bing Maps API service in Azure and I want to integrate it in a chat bot created using Bot Framework. I have generated the key for using map.
I am able to show list of locations based on a keyword. I am using https://dev.virtualearth.net/REST/v1/Locations?form={FormCode}&q={keyword}&key={BingKey}. It works fine and I am able to see the locations as Maps.
Now I want to search things like doctors near me or something like this. However I am not able get any reference of it. Its very confusing. I am not sure how to do it. Could anyone please guide me on this?
With some reading, maybe we have search data by passing key and data source ID however I am not sure how to create Data Source for Bing Maps.

You are looking for Points of Interest (POI) so you have to use Bing Spatial Data Services.
There are several Data Sources available:
FourthCoffeeSample which is a sample datasource
NAVTEQNA for POI provided by NAVTEQ for North America
NAVTEQEU for POI provided by NAVTEQ for Europe
etc.
Each DataSource has a different base URL:
FourthCoffeeSample: http://spatial.virtualearth.net/REST/v1/data/20181f26d9e94c81acdf9496133d4f23/FourthCoffeeSample/FourthCoffeeShops
NAVTEQNA: https://spatial.virtualearth.net/REST/v1/data/f22876ec257b474b82fe2ffcb8393150/NavteqNA/NavteqPOIs
NAVTEQEU: http://spatial.virtualearth.net/REST/v1/data/c2ae584bbccc4916a0acf75d1e6947b4/NavteqEU/NavteqPOIs
How to make a query? The syntax's documentation is available here
You may also be interested by some references:
EntityTypes list for NAVTEQEU and NAVTEQNA: https://msdn.microsoft.com/en-us/library/hh478191.aspx
There is also an example of use of these API here (in JS).

Related

Finding likely locations in Xamarin using google maps API

I am working on a Xamarin iOS project trying to display a list of the most likely locations based on the user's GPS coordinates using either the Place Picker or GMSPlacePickerViewController from the google maps API, as shown in this Swift tutorial.
However I can't seem to find any decent tutorials using C#. I don't want to display the map to users I simply want to retrieve the list of most likely locations based on the coordinates.
Any guidance would be greatly appreciated as I'm at a bit of a loss about how to use the google maps API to achieve this.
Okay answering this for anyone coming after me and trying to do something similar.After lots of searching I have realised it is possible to use the nearbySearch method from the Google Places API Web Service to retrieve a list of addresses near particular coordinates within a specific radius (in metres). You can optionally specify the type of addresses you are searching for, e.g. Restaurants.
Not sure how I missed this but there is a Place Search demo at the bottom of this page;
https://developers.google.com/places/web-service/

Xamarin.Forms Spreadsheet Manipulation

So far I have a Xamarin.Forms application working for Android and IOS. What I have right now is getting spreadsheets from Google Drive for user after he login with his Google Account.
What I am trying to achieve is provide an option for user to edit spreadsheet that he select. So I'm displaying a list of spreadsheets to which this account have access (from Google Drive) and then I want to load it and allow user to manipulate it (rows/cells) and save it, so to the end I have an object which represent sheet with updated values.
Some extra information, after customer choose which spreadsheet he want to use, in code I am able to read it and what I receive is an object from type List<List<object>>, which represent collection with data from rows and columns.
I am not sure what framework I can use for Xamarin.Forms and loading this type of data, also to provide different functionalities similar to "mail merge".
One from the frameworks I went through was DevExpress, but this wouldn't work in my case, because of the data types I have. I prefer if framework that you suggest is free.
I was researching if it's possible to load Google Sheets on phone and allow customer to edit data, but still no information so far.
So generally what I need is a suggestion what tool/framework I can use or is it there any other approach for having same result.
Thanks in advance
What I found is that when I get elements from Google Drive, they have property WebViewLink, which value is link for spreadsheet, where you can edit it. It will redirect you to online Google Spreadsheets or locally installed app (Sheets).
So now, instead of looking for framework or building my own logic, I am reusing Google Spreadsheets, which I find for much better option, for my case.

Create Custom Public Google Map with Markers

I have a discord bot written in c# that reports events based on their latitude/longitude. I want to take the latitude/longitude data and place markers on an html based google map (locally hosted or online) using c#
Can someone point me in the right direction?
You'll want to use the Google Static Maps API.

Google Geocoding API Licensing

I'm building an application and I need to get the coordinates based on address, so I'm planning to use the Google Geocoding API. As I read in the Geocoding reference https://developers.google.com/maps/articles/geocodestrat I may store the data to avoid exceed the limit.
However, my application it's not a map based, I mean, has no map in my application and I just need the coordinates (latitude and longitude) to fulfill an own system that get some store information within a radius from coordinates.
Could I use the Google Geocoding API for this purpose? Is it allowed by licensing?
10.1.1 (h) No Use of Content without a Google Map. You must not use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps APIs Documentation. In any event, you must not use or display the Content on or in conjunction with a non-Google map. For example, you must not use geocodes obtained through the Service in conjunction with a non-Google map. As another example, you must not display Street View imagery alongside a non-Google map, but you may display Street View imagery without a corresponding Google map because the Maps APIs Documentation explicitly permits you to do so.
https://developers.google.com/maps/terms
Though the general terms disallow use of content without a Google map, I think the specific terms for the Geocoding API permit it.
The following terms apply only to the Geocoding API:
3.1 Use without a Google Map. Customer may use Google Maps Content from the Geocoding API in Customer Applications without a corresponding Google Map.
Source: https://cloud.google.com/maps-platform/terms/maps-service-terms#3.-geocoding-api

Offline maps with markers

I have a requirement to create a web based application, which is hosted on a intranet server(no internet access). This application will be used to keep track of various status over in the various geographical location, the locations are currently spanned within Asia.
I have read up on google map api, and it seems that it is against their policy to use their map offline. On the other hand, the custom markers is something that I am interested in. I am considering to make use of the marker concept to show the status of the area.
Hence sample example of the status can be denoted by having red as error, green as working properly, and this will be updated every 1 hour.
Any bros have done similar concept and will be willing to guide me? The offline maps is preferred to be free, however if a paid version proves to be useful, it can be considered.
Seems like you could use a combination of MapServer as mapping server and openstreetmap as data source (maps for asia are available, but it depends on the level of zoom, precision and update you are willing to work with) and OpenLayers to load, display and render your markers and data.
Links :
MapServer :http://mapserver.org/index.html
OpenStreetMap : http://www.openstreetmap.org/
OpenLayers : http://openlayers.org/
Notice : you can find .shp versions of openstreetmap for offline viewing and usage, free of charges, here : http://downloads.cloudmade.com/ , and here : http://download.geofabrik.de/osm/
And here is a MapServer Tutorial for C# mapscript (ASP .NET) : http://www.paolocorti.net/2006/09/20/mapserver-tutorial-for-c-mapscript-asp-net/
Google Maps/Earth will only allow you to store 2Gb of map data locally. The API will not let you store any at all. There is no way to use the maps offline. However you can try downloading images from NASA World Wind: http://worldwind.arc.nasa.gov/java/ it is opensource.

Categories