Jump to content

Google Maps?


rootKID

Recommended Posts

Hello W3S! Been a while ^^

 

I have a question related to Google Maps. I dont know if anyone in here knows about the app/website named "TooGoodToGo"? Well, it is a company based on a varies of restaurants in the Nordic/West side of the world... that i am aware off anyways...

 

they have this google map that shows the location(s) of each restaurant, showing the location, information, etc about it and prices. I would like to make something similar...

 

That i already know is that i need longtitude and latitude, correct me if i am wrong.

My question is, how do i make it like the TGTG website so that i can show Multiple locations in the map? With links to them as well as information & details about the prices?

 

The idea is to let restaurants know that they can sell their "left overs" to less prices to those people that almost no money have... it is actually a greater deal in the Nordic/West, you can get a lot from it.. instead of wasting good food in the trash..

 

Hopefully you know what i am talking about and my english dont scare you away :P

 

Thanks in advance if you can help me solve this puzzle...

 

PS: I am going to store the long and latitude in my database...

 

Hope you can help me out where i fail, as usual :P

 

Thanks again! :D

Link to comment
Share on other sites

I have never done that, but I would start with their API docs

https://developers.google.com/maps/

https://developers.google.com/maps/web/ (for the web)

 

Depending how you decide to show a map, the options may be different, but I'm sure it's in there and / or there examples across the web, I imagine it is a very commonly used feature by developers.

Link to comment
Share on other sites

Thanks dude, will take a look at it.

All i am looking for really is something that has already been done by the "toogoodtogo" food website service when you look at their map :/

 

They show which restaurants their services applies on the map, that is why i want it integrated...

Link to comment
Share on other sites

This is what i used many years ago, still works, you need to get your own google map api key though, just google.

<!DOCTYPE html>
<html>
    <head>
        <script
            src="http://maps.googleapis.com/maps/api/js?key=[YOUR API KEY]&sensor=false">
        </script>

        <script>

            //Set location Title, lat, long, and Comments

            var locations = [
                ['marker title1', -13.530825, -71.957565, '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'],
                ['marker title2', -13.531211, -71.961921, '<p>Curabitur pretium tincidunt lacus.Nulla gravida orci a odio.Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris.Integer in mauris eu nibh euismod gravida.Duis ac tellus et risus vulputate vehicula.Donec lobortis risus a elit.Etiam tempor.Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id tincidunt sapien risus a quam.Maecenas fermentum consequat mi.Donec fermentum.Pellentesque malesuada nulla a mi.Duis sapien sem, aliquet nec, commodo eget, consequat quis, neque.Aliquam faucibus, elit ut dictum aliquet, felis nisl adipiscing sapien, sed malesuada diam lacus eget erat.Cras mollis scelerisque nunc.Nullam arcu.Aliquam consequat.Curabitur augue lorem, dapibus quis, laoreet et, pretium ac, nisi.Aenean magna nisl, mollis quis, molestie eu, feugiat in, orci.In hac habitasse platea dictumst.</p>'],
                ['marker title3', -13.531336, -71.960387, '<p>Fusce convallis, mauris imperdiet gravida bibendum, nisl turpis suscipit mauris, sed placerat ipsum urna sed risus.In convallis tellus a mauris.Curabitur non elit ut libero tristique sodales.Mauris a lacus.Donec mattis semper leo.In hac habitasse platea dictumst.Vivamus facilisis diam at odio.Mauris dictum, nisi eget consequat elementum, lacus ligula molestie metus, non feugiat orci magna ac sem.Donec turpis.Donec vitae metus.Morbi tristique neque eu mauris.Quisque gravida ipsum non sapien.Proin turpis lacus, scelerisque vitae, elementum at, lobortis ac, quam.Aliquam dictum eleifend risus.In hac habitasse platea dictumst.Etiam sit amet diam.Suspendisse odio.Suspendisse nunc.In semper bibendum libero.</p>'],
                ['marker title4', -13.533099, -71.960151, '<p>Proin nonummy, lacus eget pulvinar lacinia, pede felis dignissim leo, vitae tristique magna lacus sit amet eros.Nullam ornare.Praesent odio ligula, dapibus sed, tincidunt eget, dictum ac, nibh.Nam quis lacus.Nunc eleifend molestie velit.Morbi lobortis quam eu velit.Donec euismod vestibulum massa.Donec non lectus.Aliquam commodo lacus sit amet nulla.Cras dignissim elit et augue.Nullam non diam.Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.In hac habitasse platea dictumst.Aenean vestibulum.Sed lobortis elit quis lectus.Nunc sed lacus at augue bibendum dapibus.</p>'],
                ['marker title5', -13.533985, -71.960751, '<p>Aliquam vehicula sem ut pede.Cras purus lectus, egestas eu, vehicula at, imperdiet sed, nibh.Morbi consectetuer luctus felis.Donec vitae nisi.Aliquam tincidunt feugiat elit.Duis sed elit ut turpis ullamcorper feugiat.Praesent pretium, mauris sed fermentum hendrerit, nulla lorem iaculis magna, pulvinar scelerisque urna tellus a justo.Suspendisse pulvinar massa in metus.Duis quis quam.Proin justo.Curabitur ac sapien.Nam erat.Praesent ut quam.</p>'],
                ['marker title6', -13.535289, -71.962929, '<p>Vivamus commodo, augue et laoreet euismod, sem sapien tempor dolor, ac egestas sem ligula quis lacus.Donec vestibulum tortor ac lacus.Sed posuere vestibulum nisl.Curabitur eleifend fermentum justo.Nullam imperdiet.Integer sit amet mauris imperdiet risus sollicitudin rutrum.Ut vitae turpis.Nulla facilisi.Quisque tortor velit, scelerisque et, facilisis vel, tempor sed, urna.Vivamus nulla elit, vestibulum eget, semper et, scelerisque eget, lacus.Pellentesque viverra purus.Quisque elit.Donec ut dolor.</p>'],
                ['marker title7', -13.516617, -71.978872, '<p>Duis volutpat elit et erat.In at nulla at nisl condimentum aliquet.Quisque elementum pharetra lacus.Nunc gravida arcu eget nunc.Nulla iaculis egestas magna.Aliquam erat volutpat.Sed pellentesque orci.Etiam lacus lorem, iaculis sit amet, pharetra quis, imperdiet sit amet, lectus.Integer quis elit ac mi aliquam pretium.Nullam mauris orci, porttitor eget, sollicitudin non, vulputate id, risus.Donec varius enim nec sem.Nam aliquam lacinia enim.Quisque eget lorem eu purus dignissim ultricies.Fusce porttitor hendrerit ante.Mauris urna diam, cursus id, mattis eget, tempus sit amet, risus.Curabitur eu felis.Sed eu mi.Nullam lectus mauris, luctus a, mattis ac, tempus non, leo.Cras mi nulla, rhoncus id, laoreet ut, ultricies id, odio.</p>'],
                ['marker title8', -13.515626, -71.975873, '<p>Donec imperdiet.Vestibulum auctor tortor at orci.Integer semper, nisi eget suscipit eleifend, erat nisl hendrerit justo, eget vestibulum lorem justo ac leo.Integer sem velit, pharetra in, fringilla eu, fermentum id, felis.Vestibulum sed felis.In elit.Praesent et pede vel ante dapibus condimentum.Donec magna.Quisque id risus.Mauris vulputate pellentesque leo.Duis vulputate, ligula at venenatis tincidunt, orci nunc interdum leo, ac egestas elit sem ut lacus.Etiam non diam quis arcu egestas commodo.Curabitur nec massa ac massa gravida condimentum.Aenean id libero.Pellentesque vitae tellus.Fusce lectus est, accumsan ac, bibendum sed, porta eget, augue.Etiam faucibus.Quisque tempus purus eu ante.</p>'],
                ['marker title9', -13.531847, -71.984493, '<p>Vestibulum sapien nisl, ornare auctor, consectetuer quis, posuere tristique, odio.Fusce ultrices ullamcorper odio.Ut augue nulla, interdum at, adipiscing non, tristique eget, neque.Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.Ut pede est, condimentum id, scelerisque ac, malesuada non, quam.Proin eu ligula ac sapien suscipit blandit.Suspendisse euismod.Ut accumsan, neque id gravida luctus, arcu pede sodales felis, vel blandit massa arcu eget ligula.Aenean sed turpis.Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.Donec sem eros, ornare ut, commodo eu, tempor nec, risus.Donec laoreet dapibus ligula.Praesent orci leo, bibendum nec, ornare et, nonummy in, elit.Donec interdum feugiat leo.Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque feugiat ullamcorper ipsum.Donec convallis tincidunt urna.</p>'],
                ['marker title10', -13.50123, -72.031091, '<p>Suspendisse et orci et arcu porttitor pellentesque.Sed lacus nunc, fermentum vel, vehicula in, imperdiet eget, urna.Nam consectetuer euismod nunc.Nulla dignissim posuere nulla.Integer iaculis lacinia massa.Nullam sapien augue, condimentum vel, venenatis id, rhoncus pellentesque, sapien.Donec sed ipsum ultrices turpis consectetuer imperdiet.Duis et ipsum ac nisl laoreet commodo.Mauris eu est.Suspendisse id turpis quis orci euismod consequat.Donec tellus mi, luctus sit amet, ultrices a, convallis eu, lorem.Proin faucibus convallis elit.Maecenas rhoncus arcu at arcu.Proin libero.Proin adipiscing.In quis lorem vitae elit consectetuer pretium.Nullam ligula urna, adipiscing nec, iaculis ut, elementum non, turpis.Fusce pulvinar.</p>']

            ];
            

            function initialize()
            {

                // Set location to centre on
                var myCenter = new google.maps.LatLng(51.508742, -0.120850);
                var infowindow = new google.maps.InfoWindow({
                    //maxWidth: 120 // set infowindow width
                });
                //apply location marker to centre on
                var mapProp = {
                    center: myCenter,
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };

                var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
                var marker = new google.maps.Marker({
                    position: myCenter,
                    title: 'My centre location marker'
                });

                //END Set location to centre on


// Set variable for group of locations to centre on, NOTE this will override above single location to centre on ABOVE
                var bounds = new google.maps.LatLngBounds();

                marker.setMap(map);
                // apply other location markers
                for (i = 0; i < locations.length; i++) {
                    marker = new google.maps.Marker({
                        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
                        map: map,
                        title: locations[i][0]
                    });

// retreive positions from array, to determine binding frame
                    bounds.extend(marker.position);


                    google.maps.event.addListener(marker, 'click', (function(marker, i) {
                        return function() {
                            infowindow.setContent('<strong>' + locations[i][0] + '</strong><div>' + locations[i][3] + '</div>');
                            infowindow.open(map, marker);
                        }
                    })(marker, i));
                }
                // bind loctions from array in frame, overriding single location ***** Comment out to use single location again ****
                map.fitBounds(bounds);
            }

            google.maps.event.addDomListener(window, 'load', initialize);
        </script>
    </head>

    <body>
        <div id="googleMap" style="width:500px;height:380px;"></div>

    </body>
</html>
Edited by dsonesuk
Link to comment
Share on other sites

Thanks for the support! I think i got the idea now, i will test the code and return again if i fail.. which i most likely will hehehe :P...

 

Thanks anyways! :D

Link to comment
Share on other sites

I just spotted error

 

change infowindow.setContent('<strong>' + locations[i][0] + '</strong><p>' + locations[i][3] + '</p>');

 

to

 

infowindow.setContent('<strong>' + locations[i][0] + '</strong><div>' + locations[i][3] + '</div>');

 

else you will end up with invalid code with paragraph elements being child elements of a parent paragraph element.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...