canvas cesium marker

export function createRect(ctx, opts = {}) {
  // 圓角矩形的參數(shù)
  var x = 2; // 左上角x坐標
  var y = 2; // 左上角y坐標
  var width = opts.width; // 寬度
  var height = opts.height; // 高度
  var radius =opts.height / 2; // 圓角半徑

  // 開始路徑
  ctx.beginPath();

  // 左上角圓弧
  ctx.moveTo(x + radius, y);
  ctx.lineTo(x + width - radius, y);
  ctx.arcTo(x + width, y, x + width, y + height, radius);

  // 右上角圓弧
  ctx.lineTo(x + width, y + height - radius);
  ctx.arcTo(x + width, y + height, x, y + height, radius);

  // 右下角圓弧
  ctx.lineTo(x + radius, y + height);
  ctx.arcTo(x, y + height, x, y, radius);

  // 左下角圓弧
  ctx.lineTo(x, y + radius);
  ctx.arcTo(x, y, x + radius, y, radius);

  // 關(guān)閉路徑并填充
  ctx.closePath();
  ctx.fillStyle = opts.backgroundColor || "#c88400";
  ctx.fill();

  // 如果需要描邊猾浦,可以添加以下代碼
  ctx.strokeStyle = opts.borderColor || "#7c4b00";
  ctx.lineWidth = opts.borderWidth || 1;
  ctx.stroke();
}

export function createText(ctx, opts = {}) {
  var text = opts.text;
  var textSize = opts.textSize || 12;
  var color = opts.color || "#fff";
  var x = opts.x || 0;
  var y = opts.y || 0;
  ctx.font = textSize + "px Arial"; // 設(shè)置字體樣式和大小
  ctx.fillStyle = color; // 文本顏色
  ctx.fillText(text, x, y);
}

export function createImage(text) {
  var ramp = document.createElement("canvas");
  var ctx = ramp.getContext("2d");
  var textSize = 15;
  var textWidth = text.length * textSize;
  var padding = 10;
  var width = textWidth + padding * 2;
  var height = 32;
  var textX = width / 2 - textWidth / 2;
  var textY = height / 2 + textSize / 3;
  createRect(ctx, { width, height, borderWidth: 2, borderColor: "#7c4b00", backgroundColor: "#c88400" });
  createText(ctx, { text, textSize, color: "#fff", x: textX, y: textY });
  return ramp;
}

export function addMarker(viewer, options = {}) {
  var name = options.name || "Marker";
  var longitude = options.longitude || 121.444409;
  var latitude = options.latitude || 31.247417;
  var height = options.height || 0;
  var image = createImage(name);
  viewer.entities.add({
    name: name,
    position: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
    billboard: {
      image,
      heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
    },
    properties: options,
  });
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柴信,一起剝皮案震驚了整個濱河市慕爬,隨后出現(xiàn)的幾起案子建芙,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件租冠,死亡現(xiàn)場離奇詭異垄惧,居然都是意外死亡搓谆,警方通過查閱死者的電腦和手機炒辉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泉手,“玉大人黔寇,你說我怎么就攤上這事≌睹龋” “怎么了缝裤?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長颊郎。 經(jīng)常有香客問我憋飞,道長,這世上最難降的妖魔是什么姆吭? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任榛做,我火速辦了婚禮,結(jié)果婚禮上内狸,老公的妹妹穿的比我還像新娘检眯。我一直安慰自己,他們只是感情好昆淡,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布锰瘸。 她就那樣靜靜地躺著,像睡著了一般昂灵。 火紅的嫁衣襯著肌膚如雪避凝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天眨补,我揣著相機與錄音管削,去河邊找鬼。 笑死渤涌,一個胖子當著我的面吹牛佩谣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播实蓬,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吊履!你這毒婦竟也來了安皱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤艇炎,失蹤者是張志新(化名)和其女友劉穎酌伊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡居砖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年虹脯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奏候。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡循集,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔗草,到底是詐尸還是另有隱情咒彤,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布咒精,位于F島的核電站镶柱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏模叙。R本人自食惡果不足惜歇拆,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望范咨。 院中可真熱鬧故觅,春花似錦、人聲如沸湖蜕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昭抒。三九已至评也,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灭返,已是汗流浹背盗迟。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熙含,地道東北人罚缕。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像怎静,于是被迫代替她去往敵國和親邮弹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容