Since my MapControl using only as preview of location, i want to disable zoom/pan and other events, is it possible to do?
A much easier option would be to use the Bing Maps REST imagery service. It would use a lot less resources than loading up an interactive map control and disabling all events. It would also take a lot less work. You can find documentation on the Bing Maps REST imagery service here: https://msdn.microsoft.com/en-us/library/ff701724.aspx
Related
Can I to open a MKMapView with directions from multiple places. I do not want to call the google maps api where it will open is a separate window. I want to place info on the stops if possible.
Sure you can.
My suggested starting sequence for achieving this is:
Read up on MKOverlay, MKOverlayPathView and related MapKit classes.
Fetch the directions in a background thread from a provider (eg Google API). This doesn't open in a separate window, you can do it all in background with some API calls. Parse the results into a local model for your stops.
Show your map view, and generate overlays from your directions model data.
You'll add Annotations for your stops, and they will have "callouts" so that the users can view some details about them. I believe there are plenty of examples readily available that demonstrate how to do this.
I hope this very general answer is of some use, perhaps just to let you know that what you want to do is readily achievable, and doesn't require much code.
you can request directions from one of the APIs available (Google,...), parse them and draw them as overlay on your MapView, but I recently stumbled over a commercial framework which saved me a lot of time and hassle:
http://mtdirectionsk.it
Does OpenStreetMap just provide GIS data? To render maps and have a browser based UI to show maps with data, would a developer need to use something like Mapnik?
OpenStreetMap provides data yes, and you'll need specific tools to make map with them. You first need to put the data in a true GIS format, which OSM is not. Think about PostGIS, an osm2pgsql tool is designed for that. Then, you'll need a rendering tool, i.e. a cartographic engine. You can use Mapnik or MapServer. Tilemill or Kosmtik can help you designing your map styles.
Take a look here.
yo can export data form OpenStreetMap and render your own map.
Take a look at
http://www.slideshare.net/jones139/rendering-openstreetmap-data-using-mapnik
http://www.slideshare.net/artemp/mapnik-sotm-2007
There's a fuller list of rendering libraries for OpenStreetMap data here, both free and commercial.
http://wiki.openstreetmap.org/wiki/Renderer
Disclosure: I am the developer of one of them.
OpenStreetMap provides map data out to a wide sprawling ecosystem of different downloads and tools offering developers different map-making and map using possibilities. Here is a diagram I drew which captures some of this:
So the data comes out of the core of OpenStreetMap, in the form of 'planet downloads', one big unwieldy blob of XML (and diffs), but from there it fans out into a range of other offerings to developers, many of which are provided by 3rd parties. Taken together "OpenStreetMap & Friends" provide lots of possibilities.
If you are inclined to run your own rendering system, then yes, Mapnik is a good choice. Powerful and scaleable (most successful OSM tile servers run Mapnik), but takes a bit of setting up. You normally load OSM XML data into PostGIS, and run mapnik from that (tutorials on switch2osm.org)
If you are not inclined to run your own rendering system (for more lightweight web development tasks this seams reasonable!) you don't have to! You can configure LeafletJS or OpenLayers or others to fetch map tiles from a tile server run by somebody else. There are many providers. See the providers list on switch2osm.org and the Tile Servers list.
I was looking at the Bing Heat Map Creator here.
It looks pretty cool, but I wanted to build something a little more dynamic with it. Unfortunately it appears as if the only way to use it is by uploading a CSV file manually. Does anyone know of another way to get the data loaded into this?
Thanks.
We developed the Bing Heat Map Creator, which is a Map App running on the Bing Maps platform. It is certainly possible to build similar heat mapping features in a more automated mapping application but likely would not be done as a map app due to limitations with map apps APIs. Ping me if you want to discuss further.
Regards
Steve
I've looked at Google's map API, which is all javascript and terribly slow on the iPhone. I then tried using the link option available at maps.google.com. That is fast but I can't see having much control over it. It also displays a little search box at the top of the map. Google's API says you must use maps in a website, which the iPhone isn't. I'm not sure about licensing for maps.google.com.
Urbanspoon's scope option does everything I want with maps in regards to displaying nearby businesses based on your location. Given the limited set of tools available for Google maps without mapkit, I don't know how they are doing it. It looks as though they have somehow integrated with mapkit. Clicking an annotation shows the callout and another click pushes a new view with details from that pin. Any ideas how this can be done?
-- EDIT --
Just to be clear, mapkit doesn't display surrounding businesses. That's the crux of the problem and I'm not sure how Urbanspoon got past it.
You can also use the Google AJAX Search API: http://code.google.com/apis/ajaxsearch/
It's a Javascript library, but for Flash, and other Non-Javascript environments, the API exposes a raw RESTful interface that returns JSON encoded results.
And within this API, what you want is the 'Local Search' if you are looking for nearby businesses based on the location.
Urbanspoon probably gets the data for the locations of nearby businesses via some other method than the MapKit API.
Then its likely that they use the MapKit API to display custom MapKit Annotations at those locations.
If you are looking for a business data provider you could look into yelp's API.
I am writing an app that will use Reverse Geocoding to translate the user's current location into something like a Street Address or City. It seems the only way to get this kind of information is via MapKit (specifically the Placemark class).
Can I use this without having to display a map to the user?
The reason I am asking this is because in the Google HTTP Reverse Geocoding documentation it states:
Note: the geocoding service may only be used in conjunction with displaying results on a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.
I'm wondering if this holds true for the MapKit API as well or if Google and Apple worked something out.
I answer my own question way too much around here -
10.12 use or display the Content without a corresponding Google map, unless you are explicitly permitted to do so in the Maps API Documentation, the Street View API Documentation, or through written permission from Google (for example, you must not use geocodes obtained through the Service except in conjunction with a Google map, but the Street View API Documentation explicitly permits you to display Street View imagery without a corresponding Google map); or
via Google Maps iPhone TOS
The Map Kit framework provides an embeddable map interface for your application. Use it to display map or satellite imagery from the windows and views of your custom applications. You can also use the framework to annotate your maps with points of interest and other custom information.
What was stated above about using Googles HTTP API for reverse geocoding would be a better way to display the information you are looking for and using a text box to read the information.