Google maps 使用base64编码字符串的标记

Google maps 使用base64编码字符串的标记,google-maps,base64,google-maps-markers,Google Maps,Base64,Google Maps Markers,我试图通过使用base64编码字符串在Google地图上使用自定义标记。不知怎的,它不起作用了 尝试按如下方式进行: var marker = new google.maps.Marker({ position: latLng, map: map, title: 'hello', id: 'hehehe', icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA..." }); 编辑:只是

我试图通过使用base64编码字符串在Google地图上使用自定义标记。不知怎的,它不起作用了

尝试按如下方式进行:

var marker = new google.maps.Marker({
    position: latLng,
    map: map,
    title: 'hello',
    id: 'hehehe',
    icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA..."
});
编辑:只是补充:如果您使用服务器端语言来生成js,则始终可以插入一些PHP/Python/任何代码来加载图像并将其转换为base64表示形式

类似于(PHP后端):

然后(前端):

var marker=new google.maps.marker({
//...
图标:“”
});

感谢您分享此解决方案。它帮助我解决了phonegap应用程序构建后的相对路径问题。我引用了一个脚本中的图像,但它在浏览器和应用程序中的工作方式不同。基于Base64的标记图像被证明是最可行的解决方案。
$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);
var marker = new google.maps.Marker({
    //...
    icon: '<?=$encoded;?>'
});