Is it possible to use my own map instead of google maps for my app. How can I do that...Where should I look?
I think you need Open Street Maps (OSM). I have a little GPS app (Maverick Pro) on my Droid, and it can use 3 types of maps: google, bing, and "OSM". The latter seems to be what you need:
http://wiki.openstreetmap.org/wiki/Main_Page
You would need a few things:
A source for data about your geography, in the US see the TIGER Line data published by the Census Bureau.
Software to render the geo data into maps that are visually meaningful, for example Mapnik. Use something like OpenLayers to generate the
movability and nice user features people expect.
Software to deliver the rendered maps efficiently to your users, ie TileCache.
There is a nice summary of this FOSS approach here: http://m.alistapart.com/articles/takecontrolofyourmaps
You may want to check out MapTiler, an open source map tiling tool for Google Maps (and other mapping systems) which runs on Windows and Mac OS X.
MapTiler will automate the tiling process for you through a simple GUI wizard, and in addition, once the tiling process is finished, it will also generate a simple HTML viewer where you can see the results immediately.
Custom Map Tile Overlays are quite an advanced topic in the Google Maps API (even the documentation will warn you in red about this). However, I am sure you will be able to use and understand the HTML viewer of MapTiler.
PostGIS, Geoserver, GeoWebCache, OpenLayers, + GeoEXT gets you all the software you need.
Data is up to you and some of the examples above are good ideas.
Related
Is it possible to overlay an Esri Feature service onto a Google Map using the Google Maps API?
I am using feature services hosted on ArcGIS Online. Keep in mind these are feature services, not tiled map services.
From all that I've gathered, Google Maps only appears to only support tiled map rest services. Is this correct? Has anyone had success overlaying feature services?
If you've made it this far I'll give you a little background. Our systems developer has produced numerous applications using the Google Maps API, so it would be a burden at this point to rewrite everything in OpenLayers, ESRI API, Leaflet, etc. He wants to be able to consume our ArcGIS Online mapping services, which we store as features, aka. WFS. We really do not want to go the route of having to upkeep additional versions (tiles, KML, geoJSON, etc) of the same layers. I've been experimenting with on-the-fly Esri JSON to GeoJSON conversions, but I haven't had success. I'm about ready to call it and rebuild everything with the Esri API, but I figured I'd ask first. Our staff is really in love with Google Maps so it's going to be a hard sell.
Thanks
Yes, it's possible with ArcGIS Server Link for Google Maps JavaScript API V3
https://github.com/googlemaps/v3-utility-library/tree/master/arcgislink
You can retrieve both geometries and attributes from AGS through the REST API, using the Feature Class.
Alternatively, you can implement a Geometry Service on the server side and access it through GeometryService Class.
Check arcgislink documentation:
https://htmlpreview.github.io/?https://github.com/googlemaps/v3-utility-library/blob/master/arcgislink/docs/reference.html
It is viable, but it may have performance issue.
You can make a call to the feature service endpoint and get all the features back as JSON response. As Esri GeoJSON is different from the common one, you need to translate the JSON response to the standard GeoJSON format, and then add to the feature collection in google maps Data Layer and apply styles.
This works if you have simple datasets. However if it is complex large polygon datasets, it will be causing network traffic when making the call. Also Google maps data layer always have performance issue when dealing with large dataset.
I recommend to use dojo/esri js API to develop the app if the data is hosted with ArcGIS server. It just doesn't make sense to buy both licenses for visualization.
Another option is to enable your ArcGIS online data to serve WMS layer too. Through that way your developer can use google maps overlay layer to overlay tiles from ArcGIS online. You can also make standard XMl request to the WMS service to get feature information.
Ok. You can convert to GeoJSON, but you're right, there's some big performance issues.
I found the easiest solution to the problem was to rewrite all our Google Maps API using ESRI Leaflet.
https://esri.github.io/esri-leaflet/
Leaflet is much easier to implement than the standard ESRI API. Didn't take long to rewrite and have the same functionality.
I would like to use maps in my web application to plot various points.
Which one should i use google maps or bing or some other?
Using bing maps is free??
I expect a free solution.
Is there any that i can use?
Thanks.
The only one that I know of that's actually Open Source as specified is Open Street Map: http://www.openstreetmap.org/. The map tiles are generated in a crowd sourced manner, and the entire dataset is free to download/play with.
You'll need a seperate data interaction layer (unlike Google Maps or Bing), the best I know of is OpenLayers: http://openlayers.org/ again, open source and free to use/fiddle with as you will.
Once again, I'm trying to deal with something not really well documented on Google Maps API.
I'm doing a small webapp which would require to be able to map indoor areas BUT I've to keep them private.
For now, I don't find any informations related to this question.
I've found many quite similar questions on stackoverflow which seems to feet my needs regarding the title, BUT once I read the question, everything is related to Android or IOS however, I'm looking to do this on a regular WebPlatform using Maps APIs provided for this plateform.
If anyone as a hint, it will really help so, thanks in advance.
The documentation for custom StreetViews you find on https://developers.google.com/maps/documentation/javascript/streetview#CustomStreetView
Keeping the images private is not hard to achieve, the images are loaded directly by the client, so you may e.g. use a serverside script that handles the requests and for example checks for a valid session before it delivers the images.
According to the GoogleMaps community forum (https://support.google.com/maps/thread/124604237/how-can-i-make-indoor-maps-private?hl=en) it is not possible to render google indoor maps private. One solution could be using mapspeople api which uses google maps and draws indoor maps on a top layer, or resort to mapwize which utilizes OpenStreetMaps as a base map to draw indoor maps layers on.
https://www.mapspeople.com/mapsindoors/
https://www.mapwize.io/
note that mapspeople requires payment, while mapwize has a very basic free version.
anyone can suggest what program / approach I should use?
I need to have a map like google map where I can display map, add marker polygon etc.
But I cannot rely on such online services as client is afraid that such service die off and there goes our system...
Have a look at lots of resources pointed in answers to these questions on GIS.SE:
GIS for the web
Steps to Start Web Mapping
You might want to look at Google Fusion Tables, or solutions like MapBox or CartoDB for quick, hosted solutions.
Willing to invest more time (and depending on your skills and language preferences) you could delve into PostGIS & GeoServer / Mapserver with a frontend of OpenLayers / Leaflet (or any other libraries). OSGeo-Live DVD might come handy for a quick and dirty review of most of these options.
Here are pure open source based web map and geo-location database resources. Google map or Bing map is wonderful, but they require business contract for commercial use. It is said that Foursquare recently switched their map tool from Google map to open source based Leaflet API which looks like the picture below. This map tools is quite great and recommendable.
web API for map : http://leafletjs.com/
Good place to start. Two resources below are not really used for developers, cause those are already included in leaflet javascript API.
Map style : http://cloudmade.com/
Map data : http://www.openstreetmap.org/
Geo location based on ip address : http://dev.maxmind.com/geoip/geolite
Can download free ip address & city mapping file, which can be used for custom mapping code.
I recommend http://mapserver.org/
You can create map files into you server...and you can connect to open source databases like PostGIS
I want user to be able to enter source/destination and take a virtual tour of the route.
PHP is my preferred solution. I am not sure where to start from. I do not have much experience with Google map 3D APIs so need some pointers.
I need something that is similar to Google maps's Helicopter view feature. Gives a bird's eye tour of your route.
Thanks in advance!
You will want to use Javascript, which powers the Google Earth API
Check out the examples at the code playground, especially how to create a line string (for your route) and how to move the camera