Idea jest taka: mam kawałek mapy, ustawiam pinezki (plamarks) do niektórych miejsc. Po kliknięciu na pinezkę powinna pojawić się chmurka (balloon) z pewnym contentem. Domyślnie jest to tytuł pinezki, jednak ja chcę mieć inny.
Tworzenie placemarków wygląda tak:
var placemark = placemarksAll[i] ;
// (...) sprawdzanie czy ma być wyświetlony itp
if(isOnMap)
{
ge.getFeatures().appendChild(placemark);
google.earth.addEventListener(placemark, 'click', makePlacemarkHandler(i) );
}
callback makePlacemarkHandler wygląda tak:
function makePlacemarkHandler(id) {
return function() {
var balloon = ge.createHtmlStringBalloon('');
balloon.setFeature(placemarksAll[id]);
balloon.setContentString('aaa c');
balloon.setMinWidth(300);
balloon.setMaxWidth(400);
balloon.setCloseButtonEnabled(false);
ge.setBalloon(balloon) ;
}
}
Cały ten kod wykonuje się, ale zamiast oczekiwanego contentu (w moim przypadku przykładowy tekst: "aaa c") jest domyślny - nazwa placemarku. Poza tym przycisk wyłączania nie jest schowany również. Ktoś wie dlaczego tak może być?
Nie jestem specjalistą w js. Wzorowałem się na tutorialu:
https://google-developers.appspot.com/earth/documentation/samples/html_string_balloon_example
https://developers.google.com/earth/documentation/balloons#string_balloons