Software Público Brasileiro
Portal do

Software Público Brasileiro

  • Cadastre-se
  • Entrar

Google places
Add new snippet


#12 by 6d3a11c542f9a2b3d62b2e65c5c3a74a?s=40&d=identicon Jaime Dias
← discover snippets
gplaces.html
raw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
<!DOCTYPE html>
<meta charset="UTF-8">
<html>
<head>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />

<title name="title">teste</title>

<style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0; padding: 0 }
  #map_canvas { height: 100% }
</style>


<script src="cordova-1.6.0.js"></script>

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script>
<script type="text/javascript">

// Determine support for Geolocation and get location or give error
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(displayPosition, errorFunction);
} else {
    alert('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.');
}

// Success callback function
function displayPosition(pos) {
    var mylat = pos.coords.latitude;
    var mylong = pos.coords.longitude;
    //Load Google Map
    var latlng = new google.maps.LatLng(mylat, mylong);
    var myOptions = {
    zoom: 16,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

//Create and open InfoWindow.
var infoWindow = new google.maps.InfoWindow();

var buscar = ['padaria','colegio'];

    var iconURLPrefix = 'http://maps.google.com/mapfiles/ms/icons/';   
    var icons = [
      iconURLPrefix + 'red-dot.png',
      iconURLPrefix + 'green-dot.png',
      iconURLPrefix + 'blue-dot.png',
      iconURLPrefix + 'orange-dot.png',
      iconURLPrefix + 'purple-dot.png',
      iconURLPrefix + 'pink-dot.png',      
      iconURLPrefix + 'yellow-dot.png'
    ]
    var iconsLength = icons.length;	
	var markers = new Array();
    var iconCounter = 0;


// Places	
var service = new google.maps.places.PlacesService(map);
for (var i = 0; i < buscar.length; i++) {
	var request = {
		location: latlng,
		radius: '500',
		query: buscar[i]
	};
	service.textSearch( request, callback );
};	


function callback(results, status) 
{
    if (status == google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
            var place = results[i];
            createMarker(results[i]);
            }
			iconCounter++;
			if(iconCounter >= iconsLength) {iconCounter = 0;}
        }
    }

    function createMarker(place) {

        var placeLoc = place.geometry.location;
        var marker = new google.maps.Marker({
        map: map,
		title: place.title,
		icon: icons[iconCounter],
        position: place.geometry.location
        });
             //Attach click event to the marker.
            (function (marker, place) {
                google.maps.event.addListener(marker, "click", function (e) {
                    //Wrap the content inside an HTML DIV in order to set height and width of InfoWindow.
                    infoWindow.setContent("<div style = 'width:200px;min-height:40px'>" + place.name + "</div>");
                    infoWindow.open(map, marker);
                });
            })(marker, place);

			
       }




var marker = new google.maps.Marker({
     position: latlng, 
     map: map, 
     title:"Você"
 });


}

// Error callback function
function errorFunction(pos) {
    alert('It seems like your browser or phone has blocked our access to viewing your location. Please enable this before trying again.');
}
</script>
</head>
<body>
    <div id="map_canvas"></div>
</body>
</html>
Voltar para o topo
Assuntos
Publique seu software
Prestadores de serviço
Espaços dos municípios
Software Público
Entenda o que é
Eventos
Prêmios
Publicações
Serviços
FAQ
Contato
Relatar erros
RSS
O que é?
Assine
Navegação
Acessibilidade
Mapa do site

Desenvolvido com os projetos de software livre Colab, Gitlab, Mailman e Noosfero