function addShopMarker(){
var shopMark=document.getElementById("is_create_shop_marker");
if(shopMark.value*1==1){
return;
}
var shop_lng=document.getElementById("shop_lng").value;
var shop_lat=document.getElementById("shop_lat").value;
var canvas=document.getElementById("shopcanvas");
var ctx=canvas.getContext("2d");
//控制背景图片的大小
var into = document.createElement("canvas");
var ctx2 = into.getContext('2d');
into.width = 80;
into.height = 80;
var img = new Image();
img.src = shopUrl;
img.onload=function(){
//设置尖角箭头
ctx.beginPath();
ctx.lineJoin="round";
ctx.moveTo(15,66);
ctx.lineTo(30,75);
ctx.lineTo(45,66);
ctx.fillStyle='#FF9933';
ctx.strokeStyle="#FF9933";
ctx.stroke();
ctx.closePath();
ctx.fill();
ctx.beginPath();
ctx.arc(30, 40, 30, 0, 2 * Math.PI);
// 填充绘制的圆
ctx.fillStyle='#FF9933';
ctx.strokeStyle='#FF9933';
ctx.closePath();
ctx.fill();
ctx.beginPath();
// 这里使用圆
ctx.arc(30, 40, 25, 0, 2 * Math.PI);
// 填充绘制的圆
ctx.fillStyle='white';
ctx.closePath();
ctx.fill();
//设置圆形图片
ctx.beginPath();
//在新建的canvas 绘制图片 加入ctx 背景图片
ctx2.drawImage(img,0,10,60,60);
var partern=ctx.createPattern(into,'no-repeat');
ctx.arc(30, 40, 25, 0, 2 * Math.PI);
ctx.fillStyle=partern;
ctx.closePath();
// 填充绘制的圆
ctx.fill();
var m = new plus.maps.Marker(new plus.maps.Point(shop_lng, shop_lat));
var bubble = new plus.maps.Bubble(shopName);
bubble.loadImageDataURL(canvas.toDataURL());
m.setBubble(bubble, true);
m.setLabel(shopName);
map.addOverlay(m);
//这里表示已经创建过Mark图标了
shopMark.value=1;
}
}
4***@QQ.COM
多谢官方团队回答!还有一个问题,就是这串Base64URL编码是怎么生成的,初学h5跟js,这个不太清楚~~
2016-04-28 13:57
3***@qq.com
这段代码为什么只有在苹果手机上能显示图片,在Android手机上失效啊
2016-08-15 13:53