google maps integration details - google-maps

Does anyone know if it is possible to integrate Google maps and use also their data on topics.
Im using cakephp Framework.
I want to integrate a map of munich with fashion stores shown into my website.
But i want to show the results that come on google maps for fashion shops munich.
In the tutorials i see only ways to create your own markers.....
and second question is , i also would like to display the details , like opening hours and stuff.... is this data also available for automatic usage?

Yes, you can. You can style the POI on the map.
Also, you can only show the data google has available. They may not have every place, and a LOT of their places do not have hours. If you want a lot of data, I would suggest using your own markers.

Related

I need to make a clean, nice-looking map for a presentation based on a Google map. Any easy way to do this?

I want to make a very clean map that only shows relevant information - e.g., only the streets that matter. I was going to just draw a map while looking at Google's, but that turned out to be very slow. Is there any way to make this easier, perhaps with some combination of mapping software and Google's API?
(If I should of put this on another SE site, please tell me)
Building upon Suvi's nice answer.
There is a very useful open-source project that collects street data for the entire globe. It's called OpenStreetMap. On their website you can extract the specific street data you need. It only takes a few clicks and bam! you got the map you need. Their data can also be accessed (perphaps easier for some) from here and here. Those links can provide you with the shapefile(map) that you need. Your newly aquired map can then be loaded in the free QGIS software that was mentioned. There you can easily select the streets you are interested in.
When you mean you want to only show "streets that matter", you are out of luck with using Google Maps. Because you have no control over the ROADMAP data that google provides. Now what you can do, is use another mapping software such as ArcGIS or Quantum GIS (which is free). Both these softwares allow you to load road data shapefiles, and you can query (select) which roads you want to display and customize the look of it to your liking.
If you want a quick approach (without having to download softwares), I believe ArcGIS has an online portal which allows you to display information you want on top of their base maps. You will still need the shapefile for your streets though. Check this link out, make yourself an account and experiment around with it http://www.arcgis.com/home/. If you click on the Map tab, it takes you to a screen which should allow you to upload shapefiles.
You said you were ' going to just draw a map'. If all you need is a very clean map, you can consider using iMap Builder which is a mapping software supports both map shape files, and custom Google maps. I have used to create some simple map projects before and worked great for me. You can use their pre-made map templates which shows just the map outlines without any details, you can then add routes / points / mouse-over speech bubbles etc as you need.

Do I need to prevent duplicates in Google Places API?

I run a local business community website and I think it would be great to automatically create a google place for each of the businesses that are on my website. The actual business owners are on my website, so their information is accurate.
I can see that in the google places API, I can easily create google places, but what if they already have one? Will it be spammy to auto-create places for them or does google have an algorithm for accepting all results and sorting them on their own?
I think it would have been smart for Google to allow me to essentially create a canonical database for them of what I have and then they can do what they want with it. Is that how it works or do I need to manually ask my clients if they already have a google place?
The Google Places API isn't the best way to get data to Google about business location. Currently, the add functions don't allow you to add all the information that you would like to add, including opening hours etc. You can use Google Places for Business instead.
To answer your main question, Google would take results added through either the Places API or Google Places for Business and de-dupe them, but it would help Google and data accuracy to first search for a place, see if that matches and if it doesn't add it.

Plot hundreds if not thousands of addresses and do a radius search

In my web application I have a list of businesses/clients and their information, including their address. I'd like to mark one of them, then get the other businesses/clients that are in a X km radius.
I'd prefer to control the X with a slider, and I'd prefer to display the results on a map as well, but neither point is crucial. How should I go about this? Would Google Maps be a good tool? Where can I find more information, or an example of this?
Google Maps API should work well for this.
In fact combine it with Fusion tables, is even better. FT will host your database, and make making 'spatial' queries against your data easy (ie results within X of Y). FT is even intergrated with the Maps API to display the results of your query direct on the map.
If you want to use an Open Source Javascript library with possibly a bit more flexibility than google maps' API, use OpenLayers - and if you dont want to have to pay the new Google Maps API fees, you can use OpenStreetMap for your background layers. Make your slider with something like jQuery UI or Dojo and link them with some event handling. Job done.
What's your back end application written in? There's assorted geospatial libraries that make spatial queries nice n easy in most languages. A bit of googling should bring them up. I doubt you'll need to go for a full spatial database, but if you do then check out PostGIS - that can do stuff like find all the businesses within Xkm of a major road (once you've got all the data into it of course!).
www.osgeo.org is the best start for open source geospatial software. Lots of web, database, and desktop tools there.
Google Maps doesn't support a local search. It provide only an API to find and set marker and get a direction. It has some beautiful maps, too. What you want is the harvesine formula to look for close targets. Alernatively you can use a spatial extension and search for tiles or cluster of targets. It's just an approximation. I don't thin that FT support the former or the latter. It's just a Sqlite-alike database to store your markers.
Try mysql spatial extensions.If you cannot implement Radius Query which i think you cannot consider strongly to switch to postgresql+postgis.Once you migrate this problem will be solved in 5 minutes.
Also for a custom solution take a look at this answer
Cheers

Bing or Google maps for loading lots of data? and other questions

I have several questions here:
Which service to use (google vs bing) to display lots of (let say 100.000 and more) pushpins on the map?
What is a fastest way to do that, load all at the same time, or load 100 pushpins in the area you zoomed in, to use kml feeds.. (what about caching..?)
I would prefer Bing map, as it has nice birds' view. Is it a good approach to choose AJAX API vs web services or silverlight implementation for such task?
I tried Bing Map javascript API and when I run StartGeocoding(address), it points to the the street next to that address/house, when Bing Map online points directly to that house. How to reach the same precise results using javascript API?
I will have to display lots of places on the map, so I want to choose a right approach and service before starting a project.
I recommend google as well. I noticed that Bing is really big on Silverlight which i find to be more of a performance hog compared to javascript. I just like google's User Experience way better for Maps as well as their image searching/viewer (google's javascript version is faster and feels faster than Bing's silverlight counterpart).
Consider using Google Fusion Tables. Add your data to a Fusion Table and then it can be displayed using the Google Maps API very efficiently.

A crowdsourced Map Edit application for enviornmental cause

I want to create an application where users can mark on map location of polluting factories. Google map provides a MAP editor feature. We would like to have our own website like www.toxic-map.org where people could mark these locations. What would be the best approach for this?
Additionally we should be able to backup this database which could be cross checked or used for other purposes.
This will enable us to have little accurate census of such entities and thereby helping us in the fight against these environment harming, illegal factories. Most of our work is focused on developing countries of Asia.
Edited: Google maps is one of the options. I am open to other possible solutions as well. I am looking at something we could do quick prototyping in.
Thank you in advance!!
On the client side, I recommend you to have a look at OpenLayers, a free and open source web mapping framework released under a BSD-style License. It is completely written in Javascript and offers a lot of functionality, including the features that your application may need (Add markers to the map, drag them to adjust the locations, ...).
It also supports dozens of different geographic data formats and services such as WMS, KML or Google Maps.
If you are worried about licensing issues regarding the use of Google Maps, you can use other global data sources like OpenStreetMap or a public WMS if they provide enough coverage of your area of interest.
On the server side, I agree with the answer provided by Daniel Vassallo. I will just add a little detail and recommend you to serve the markers in a standard format natively supported by OpenLayers like KML, GeoJSON or GeoRSS. It will make really easy to draw the markers on the map.
Looks like a really interesting project, I hope you are lucky starting it up.
I seem to remember that there are restrictions to what you can do with the coordinates if you enter them through Google's interface, but if that doesn't bother you then sure, Google might be the way to go. (It may just pertain to geometrical figures entered into Google Earth or something like that.)
Google seems to be in line with your ideology anyway, as they're doing a lot of green power development. Might even be a selling point.
But if you can input the data separately and have Google Maps just display it for you then I wouldn't think they could hold claim to the data.
I think your best bet is to use the Google Maps API instead of the map editor in My Maps.
With some basic JavaScript, you will be able to allow users to drop markers on the polluted locations they would want to tag.
You will need a database on the server-side, and a thin application layer that:
Accepts and validates new markers added by users.
Serves the markers from the database to the browser.
You may want to use AJAX to interact between the browser and the application layer.
I think this type of project would be an excellent candidate to be hosted on the Google App Engine. You will be able to leverage on the simplicity of the webapp framework, and the Google Datastore appears to fit well.
As a side-note, you might be interested in checking out the Heat Map API for Google Maps. I think heat maps would look good in a project like this.
The approach is this:
1. User can drag the marker to the location of toxic factory.
2. A simple form opens to enter details of the toxic factory.
3. The latitude, logitude and other datails are then saved in database.
Please refer www.loppee.com They have a similar solution where user can mark the location of people or places of interest. Loppee uses LeafletJS javascript framework. It is a simple framework. You would be able to develop quick prototype. LeafletJS.com has simple and easy to use code samples.
Additionally, you can enable Geolocation and IP triangulation. Refer: Longitude and latitude value from IP address