Как передать обратный геокодированный адрес обратно в переменную - PullRequest
0 голосов
/ 08 марта 2012

как «просто» извлечь значение адреса из геокодера мой код выглядит так:

несколько вещей до ....

geocoder.geocode({latLng: 'mylatlon'}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
                     if (results[0]) {
                    //alert(results[0].formatted_address);
                    thisadr=results[0].formatted_address;  
                         }}});';

несколько вещей после ... как, например, название карты: thisadr или infowindow.content (thisadr Нету

хотя он работает отлично (если я доверяю оповещению), но я не могу вывести thisadr var отсюда

Я провел много часов, пытаясь найти достаточно простое решение, но безрезультатно

У меня тогда вторичная проблема Я строю HTML-таблицу для подачи в информационное окно

поэтому в какой-то момент мне нужно будет смешать эту HTML-таблицу с этой переменной thisadr

пока и грубо мое информационное окно выглядит как

var contenuInfoBulle'.$camindex.' =  \''.$phpbul.'\';

что бы я хотел показать

 var contenuInfoBulle'.$camindex.' = thisadr  \''.$phpbul.'\';

1 Ответ

0 голосов
/ 11 марта 2012

Мне удалось ответить на мои собственные вопросы

1 / путем включения всего, что необходимо, в запрос геокодера при создании индексированной функции и последующем ее вызове для каждого индексированного маркера

echo 'function buildmarker'. ($camindex). '(location) {';
echo 'geocoder = new google.maps.Geocoder();';

echo "geocoder.geocode({'latLng': location}, function(results, status) {";
echo "   rue='Adresse à déterminer';";
echo '   if (status == google.maps.GeocoderStatus.OK) {';
echo '        if (results[0]) {';
echo '          adress=results[0].formatted_address;';
echo "          elts=adress.split(',');";
echo '          rue=elts[0];';
echo '        }';

echo '      }';

echo 'var   contenuInfoBulle =  rue+\''.'<br>'.$phpbul.'\';';
echo 'var infoBulle = new google.maps.InfoWindow({ content: contenuInfoBulle });';
echo 'var thisicon = new google.maps.MarkerImage("../img    /marker'.$coulgoog.$ajout.'.png",null, null, null, new google.maps.Size(25, 25));';
echo 'var optionscam= {position: location,map: macarte,title:  "'.$camindex.'     '.$shortcam.'"   ,icon: thisicon};';
echo 'var mark = new google.maps.Marker(optionscam);';
echo 'google.maps.event.addListener(mark, "click", function() {infoBulle.open(macarte, mark)});';
echo 'var optionsCercle = {center: location,map: macarte,radius: 20 ,strokeWeight: 0};';
echo 'var monCercle = new google.maps.Circle(optionsCercle);';


echo '    });';
echo '} ';            //func

///////////////////////


echo "var cam". ($camindex). " = new google.maps.LatLng(".$myloc.");";
echo "buildmarker". ($camindex). "(cam".($camindex).");";

2 / путем смешивания переменной JS / googmap и предварительно подготовленного содержимого PHP / HTML

echo 'var   contenuInfoBulle =  rue+\''.'<br>'.$phpbul.'\';';
...