Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal ,
Eu estou fazendo um página em que uso o google maps api.
Porém eu quero pegar valores de uma variável PHP ou JSON e que seja incluído na array do Javascript.
Eu não tenho ideia de onde começar, por isso peço se alguém aqui pode me dar uma força.
O código é da seguinte maneira.
dentro da variável ou JSON está a latitude e longitude do endereço, lá no script do mapa tem uma array que
deve pegar esses valores e aplicar no mapa.
Abaixo eu estou enviando uma imagem com um link do exemplo que quero realizar.
Desde já fico agradecido pelas pessoas que me ajudar nesse projeto.
link do exemplo.
Respondendo pelo titulo -> 'Como incluir variável de um PHP no Javascript':
De grosso modo....
-> PHP gera html,
-> Um 'bloco' de Html pode ser javascript.
Logo Php pode gerar javascript dinamicamente. (ou criar dinamicamente sua variável locations)
Agora caso você precise ficar pegando as coordenadas atualizadas a cada 3 seg por exemplo.
Ai seria uma boa estudar Ajax como já indicado pelo @William Bruno.
E automaticamente você vai precisar reescrever todos os marks do seu mapa a cada chamada.... (mas calma... um problema de cada vez hehe)
Bom, vou postar um código que fiz aqui com o PHP montando um JSON vindo com os pontos que você deseja marcar no mapa, vê se ajuda.
Código JQuery:
jQuery(document).ready(function ($) {
var map;
var local = new google.maps.LatLng(-23.5631913, -46.6552266);
var locations = [];
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: local,
zoom: 14,
panControl: false,
mapTypeControl: false,
mapTypeId: 'roadmap', //ROADMAP / HYBRID / SATELLITE /
zoomControl: true,
streetViewControl: false,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.LEFT_BOTTOM
}
});
var marker;
$.getJSON("result.php", function (data) {
$.each(data.points, function (key, val) {
var marker = new MarkerWithLabel({
position: new google.maps.LatLng(val[1], val[2]),
map: map,
labelContent: "",
labelAnchor: new google.maps.Point(30, 61),
labelClass: "", // the CSS class for the label
labelStyle: {opacity: 0.95},
icon: '' //'marker.png'
});
});
});
}
google.maps.event.addDomListener(window, 'load', initMap);
});
resultado no arquivo result.php usando o json_enconde:
{"points":[["",-23.562154,-46.653446],["",-23.563649,-46.659733]]}
Abraços,
Uma forma de fazer isso é usando ajax.