Segue o script.
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script>
var initialLocation;
var brasilia = new google.maps.LatLng(-15.780111,-47.9291899);
var browserSupportFlag = new Boolean();
function initialize() {
var myOptions = {
zoom: 15,
mapTypeId: google.maps.MapTypeId.HYBRID
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// Try W3C Geolocation (Preferred)a
if(navigator.geolocation) {
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
// Try Google Gears Geolocation
} else if (google.gears) {
browserSupportFlag = true;
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.latitude,position.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeoLocation(browserSupportFlag);
});
// Browser doesn't support Geolocation
} else {
browserSupportFlag = false;
handleNoGeolocation(browserSupportFlag);
}
function handleNoGeolocation(errorFlag) {
if (errorFlag == true) {
alert("O serviço de geolocalização falhou.");
initialLocation = brasilia;
} else {
alert("Seu browser não suporta geolocalização. Você verá Brasília.");
initialLocation = brasilia;
}
map.setCenter(initialLocation);
}
}
window.onload = function(){
initialize();
}
</script>
<div id="map_canvas" style="width:600px; height:400px"></div>
Na terceira linha do segundo script vocês podem ver que eu coloquei uma latitude e uma longetude a qual leva até Brasília então caso o script não consiga pegar a localização do usuário ele determinará esse ponto como padrão na linha 5 depois da function initialize() eu indiquei o ID da div que vai receber as imagens do Google que no caso foi map_canvas esse é um padrão utilizado pelo Google.
Esse é o resultado produzido por esse script:
Vamos para o Segundo exemplo.
O segundo exemplo é basicamente o mesmo do primeiro porem vamos ter identificar o endereço de ip do usuário enviar par o geoplugin e como retorno receberemos os dados do ip disponibilizado pelo mesmo segue o script.
Segue o Script.
<?php
$ip = $_SERVER['REMOTE_ADDR']; // pego o endereço de IP
ini_set("allow_url_fopen", 1);
$response = file_get_contents("http://www.geoplugin.net/php.gp?ip=$ip");
ini_set("allow_url_fopen", 0);
$array = var_export( unserialize ( $response ), 1);
eval( '$array = '. $array .';');
$data = new stdClass();
// latitude e longitude
$lt = $data->lat = $array['geoplugin_latitude'];
$lg = $data->long = $array['geoplugin_longitude'];
?>
<br>
<br>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(<?php echo $lt; ?>, <?php echo $lg; ?>);
var myOptions = {
zoom: 11,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</head>
<body>
<?php
echo "Você esta em :";
echo $data->city = $array['geoplugin_city'];
echo ", ";
echo $data->region = $array['geoplugin_region'];
echo ", ";
echo $data->country = $array['geoplugin_countryName'];
echo " - ";
echo $data->countrycode = $array['geoplugin_countryCode'];
?>
</body>
</head>
<body onLoad="initialize()">
<div id="map_canvas" style="width:30%; height:30%"></div>
</body>
</html>
Esse é o resultado produzido por esse script
Bom pesso é isso ai qual quer dúvida ja sabem é so postar ai que vou estar fazendo o maximo para responder!
Nenhum comentário:
Postar um comentário