2012-10-25 20 views

Odpowiedz

23

spróbować zrobić to w następujący sposób:

var marker = new google.maps.Marker({ 
    position: latLng, 
    map: map, 
    title: 'hello', 
    id: 'hehehe', 
    icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA..." 
}); 

Edit: Właśnie uzupełniając: jeśli używasz języka po stronie serwera do generowania js, zawsze można wstawić jakiś PHP/Python/cokolwiek kod do załadowania obraz i przekonwertuj go na jego reprezentację base64.

Coś (PHP back-end):

$path = 'path/to/my/image.ext'; 

$info = getimagesize($info); 
$ext = ($info[2]); 

$data = file_get_contents($path); 
$encoded = 'data:image/' . $ext . ';base64,' .base64_encode($data); 

Następnie (front-end):

var marker = new google.maps.Marker({ 
    //... 
    icon: '<?=$encoded;?>' 
}); 
+1

Dzięki !! ..... porozmawiaj o tym, że zbyt dużo myśli :) – jagzviruz

+1

Dziękujemy za udostępnienie tego rozwiązania. Pomógł mi rozwiązać problem ze ścieżką względną po zbudowaniu aplikacji phonegap. Odwoływałem się do obrazu ze skryptu, ale nie działało to samo w przeglądarce i aplikacji. Obraz znacznika bazujący na Base64 okazał się najbardziej realnym rozwiązaniem. –

+0

Nie ma za co :) –

Powiązane problemy