PictureMarkerSymbol是將點渲染成照片,效果如圖:
核心代碼如下:
1 featureLayer.on("mouse-over",function(evt){ 2 var point = evt.graphic.geometry; 3 var pictureSymbol; 4 switch (evt.graphic.attributes.TENDERTYPEID) { 5 case "1": 6 { 7 pictureSymbol = new PictureMarkerSymbol("/Images/blue.png", 40, 40); 8 break; 9 } 10 case "2": 11 { 12 pictureSymbol = new PictureMarkerSymbol("/Images/green.png", 40, 40); 13 break; 14 } 15 case "3": 16 { 17 pictureSymbol = new PictureMarkerSymbol("/Images/purple.png", 40, 40); 18 break; 19 } 20 case "4": 21 { 22 pictureSymbol = new PictureMarkerSymbol("/Images/red.png", 40, 40); 23 break; 24 } 25 default : 26 { 27 pictureSymbol = new PictureMarkerSymbol("/Images/yellow.png", 40, 40); 28 break; 29 } 30 } 31 var graphic = new Graphic(point,pictureSymbol); 32 pictureGraphicLayer.add(graphic); 33 });
代碼顯示效果為:鼠標移過圖片后,顯示放大圖
如果代碼30行與31行之間,插入以下代碼,實現圖片旋轉90度
pictureSymbol.setAngle(90);
效果圖如下:
如果代碼30行與31行之間,插入以下代碼,設置圖片高度90px
pictureSymbol.setHeight(90);
效果圖如下
如果代碼30行與31行之間,插入以下代碼,設置圖片寬度90px
pictureSymbol.setWidth(90);
效果圖如下
如果代碼30行與31行之間,插入以下代碼,圖片寬度右偏移10px,上偏移10px
pictureSymbol.setOffset(10,10);
效果圖如下
如果代碼30行與31行之間,插入以下代碼,更換圖片源
pictureSymbol.setUrl("/ShanDong/App_Themes/MainTheme/images/construction.png");
效果圖如下