Estou alterando na minha lojam em vez do cliente esperar o carrinho de compras carregar quando carrega já mostra os valores para o cep dele que o google atribuiu
eu consegui juntar as informações que me deram e ficou desta maneira.
function showPosition(position){ showMap(position); showAddress(position); }
function showMap(position){ var latlon = position.coords.latitude +","+ position.coords.longitude; var imgUrl ="http://maps.googleapis.com/maps/api/staticmap?center="+ latlon +"&zoom=14&size=400x300&sensor=false"; $("#map").html("<img src='"+ imgUrl +"'>"); }
function showAddress(position){ var latlng =new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var city =""; var state ="";
var postalCode =""; geocoder.geocode({'latLng': latlng },function(results, status){ if(status == google.maps.GeocoderStatus.OK){ if(results[1]){ for(var i =0; i < results[0].address_components.length; i++){ for(var b =0; b < results[0].address_components[i].types.length; b++){ if(results[0].address_components[i].types[b]=="administrative_area_level_1"){ state = results[0].address_components[i]; } if(results[0].address_components[i].types[b]=="locality"){ city = results[0].address_components[i]; } if(results[0].address_components[i].types[b]=="postal_code"){ postalCode = results[0].address_components[i]; } } } var state = state.short_name; var city = city.short_name; var zip = postalCode.short_name;
$("#address").html(zip) <!-- $("#address").html(city +", "+ state +" "+ zip); original code show cidade and postcode --> } } }); }
function handleError(error){ switch(error.code) { case error.PERMISSION_DENIED: alert("Usuário negou o pedido de Geolocalização."); break; case error.POSITION_UNAVAILABLE: alert("Informações sobre a localização está indisponível."); break; case error.TIMEOUT: alert("O pedido para obter a localização do usuário expirou."); break; case error.UNKNOWN_ERROR: alert("Ocorreu um erro desconhecido."); break; } } </script>
]</code>
e onde eu quero que apareça o mapa ou só o CEP eu coloquei:
<code>
// MOSTRA GEOLOCALIZAÇÃO ?>MAPA:<div id="map"></div> <!--MOSTRA CEP:<div id="address"></div>
<?php
$order->delivery['postcode']='xxxx-xxx';// CEP do resultad??? ?>
</code>
Lembrando que eu não esc escrevi nada disto eu peguuei na web
só que eu não sei como colocar o resultado exibido da div address pra substituir o xxxx-xxx
Pergunta
Marcelo Eduardo
Estou alterando na minha lojam em vez do cliente esperar o carrinho de compras carregar quando carrega já mostra os valores para o cep dele que o google atribuiu
eu consegui juntar as informações que me deram e ficou desta maneira.
<code>
<!-- inicio geolocalização -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder;
if (navigator.geolocation) {
geocoder = new google.maps.Geocoder();
navigator.geolocation.getCurrentPosition(showPosition, handleError);
}
function showPosition(position) {
showMap(position);
showAddress(position);
}
function showMap(position){
var latlon = position.coords.latitude + "," + position.coords.longitude;
var imgUrl = "http://maps.googleapis.com/maps/api/staticmap?center=" + latlon + "&zoom=14&size=400x300&sensor=false";
$("#map").html("<img src='" + imgUrl + "'>");
}
function showAddress(position){
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var city = "";
var state = "";
var postalCode = "";
geocoder.geocode({ 'latLng': latlng }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
for (var i = 0; i < results[0].address_components.length; i++) {
for (var b = 0; b < results[0].address_components[i].types.length; b++) {
if (results[0].address_components[i].types[b] == "administrative_area_level_1") {
state = results[0].address_components[i];
}
if (results[0].address_components[i].types[b] == "locality") {
city = results[0].address_components[i];
}
if (results[0].address_components[i].types[b] == "postal_code") {
postalCode = results[0].address_components[i];
}
}
}
var state = state.short_name;
var city = city.short_name;
var zip = postalCode.short_name;
$("#address").html(zip)
<!-- $("#address").html(city + ", " + state + " " + zip); original code show cidade and postcode -->
}
}
});
}
function handleError(error) {
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("Usuário negou o pedido de Geolocalização.");
break;
case error.POSITION_UNAVAILABLE:
alert("Informações sobre a localização está indisponível.");
break;
case error.TIMEOUT:
alert("O pedido para obter a localização do usuário expirou.");
break;
case error.UNKNOWN_ERROR:
alert("Ocorreu um erro desconhecido.");
break;
}
}
</script>
]</code>
e onde eu quero que apareça o mapa ou só o CEP eu coloquei:
<code>
// MOSTRA GEOLOCALIZAÇÃO
?>MAPA: <div id="map"></div>
<!--MOSTRA CEP: <div id="address"></div>
<?php
$order->delivery['postcode'] = 'xxxx-xxx'; // CEP do resultad???
?>
</code>
Lembrando que eu não esc escrevi nada disto eu peguuei na web
só que eu não sei como colocar o resultado exibido da div address pra substituir o xxxx-xxx
eu quero colocar o resultado:
MOSTRA CEP: <div id="address"></div>
em $order->delivery['postcode'] = 'xxxx-xxx'; // CEP
valeu obrigado
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.