12月19日倔喂,學(xué)習(xí)內(nèi)容百度地圖API雏蛮,圖片拉拽

<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="viewport" content="initial"
<meta name="Author" content="initial-scale=1.0,user-scalable=no">
<meta name="Keywords" content="">
<meta name="Description" content="">

<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}

container{height:100%}

</style>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>

<body>
<div id="container"></div>
<script type="text/javascript">
//創(chuàng)建一個(gè)地圖實(shí)例,參數(shù)可以是元素id也可以是元素對(duì)象带斑,其中BMap是百度地圖API里面的命名空間
var map=new BMap.Map("container");
var point=new BMap.Point(116.404,39.915);//創(chuàng)建一個(gè)坐標(biāo)點(diǎn)鼓寺,其中116表示經(jīng)度,39表示緯度
//創(chuàng)建地圖實(shí)例后勋磕,必須對(duì)其進(jìn)行初始化妈候,初始化后才能進(jìn)行其它的操作,該方法設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別
map.centerAndZoom(point,15);
//啟用輪滾進(jìn)行放大縮小挂滓,默認(rèn)為禁用
map.enableScrollWheelZoom();
//向地圖添加控件
map.addControl(new BMap.NavigationControl());//平移縮放控件苦银,默認(rèn)在地圖左上方
map.addControl(new BMap.ScaleControl());//比例尺控件,默認(rèn)在地圖左下方
map.addControl(new BMap.OverviewMapControl());//縮略圖控件赶站,默認(rèn)在地圖右下方

 //控制控件的位置,anchor:表示歪B玻靠在地圖的哪個(gè)腳,offset指定偏移量贝椿,離地圖邊界相隔多少像素  

var opts={anchor:BMAP_ANCHOR_TOP_RIGHT,offset:new BMap.Size(10,10)};
map.addControl(new BMap.NavigationControl(opts));

//用戶(hù)自定義控件需要通過(guò)JS中的prototype屬性繼承BMap.Control

//地圖覆蓋物(標(biāo)注想括、矢量圖形元素和信息窗口等)

var marker=new BMap.Marker(point); //創(chuàng)建標(biāo)注
map.addOverlay(marker);//將標(biāo)注添加到地圖中
marker.enableDragging();//表示標(biāo)注可拖拽,默認(rèn)不可
// 監(jiān)聽(tīng)標(biāo)注點(diǎn)擊事件
marker.addEventListener("click",function(){
alert("你點(diǎn)擊了標(biāo)注");
});
//監(jiān)聽(tīng)標(biāo)注拖拽位置事件
marker.addEventListener("dragend",function(e){
alert("當(dāng)前位置:"+e.point.lng+","+e.point.lat);//表示經(jīng)緯度
});

var opts2={width:250,height:100,title:"hello"};//信息窗口
var infoWindow=new BMap.InfoWindow("world",opts2);//創(chuàng)建信息窗口對(duì)象
map.openInfoWindow(infoWindow,map.getCenter());//打開(kāi)信息窗口

var tilelayer=new BMap.TileLayer();//創(chuàng)建地圖層實(shí)例
tilelayer.getTilesUrl=function(){//設(shè)置圖塊路徑
return "layer.gif";
};
map.addTileLayer(tilelayer);//將圖層添加到地圖上

//var myPushpin=new BMap.PushpinTool(map);//創(chuàng)建標(biāo)注工具實(shí)例
//myPushpin.addEventListener("markend",function(e){
// alert("你標(biāo)注的位置:"+e.marker.getPoint().lng+","+e.marker.getPoint().lat);
//});
// myPushpin.open();//開(kāi)啟標(biāo)注工具
//創(chuàng)建搜索實(shí)例烙博,并將結(jié)果展現(xiàn)在地圖實(shí)例上
var local=new BMap.LocalSearch(map,{
renderOptions:{map:map,panel:"results"}//搜索結(jié)果自動(dòng)添加到搜索結(jié)果列表容器中
});
local.search("XXXX");//搜索xxx
//下面是對(duì)地圖的一些操作瑟蜈,等待兩秒鐘后烟逊,它會(huì)移動(dòng)到新的中心點(diǎn)
// window.setTimeout(function(){
//map.panTo(new BMap.Point(116.409,39.918));
// },2000);
</script>
</body>
</html>

拖拽API

1. 實(shí)現(xiàn)拖拽效果

   源元素 - 要拖拽的文件
   目標(biāo)元素 - 要拖拽到哪里去

2. 目前實(shí)現(xiàn)拖拽效果

   使用原生DOM就能實(shí)現(xiàn) - 最麻煩
   使用jQuery的插件
   HTML5種提供的拖拽功能

3. HTML5拖拽

    1)源元素事件

      dragStart - 當(dāng)鼠標(biāo)開(kāi)始拖放時(shí)被觸發(fā)
      drag - 當(dāng)鼠標(biāo)拖放過(guò)程中被觸發(fā)
      dragend 當(dāng)鼠標(biāo)拖放結(jié)束時(shí)被觸發(fā)
       
    2)目標(biāo)元素事件

       dragover - 當(dāng)鼠標(biāo)到達(dá)目標(biāo)元素被觸發(fā),會(huì)反復(fù)觸發(fā)
       dragenter - 當(dāng)鼠標(biāo)拖放進(jìn)入到目標(biāo)元素內(nèi)觸發(fā)
       drop - 當(dāng)鼠標(biāo)實(shí)現(xiàn)拖放效果時(shí)被觸發(fā)

          問(wèn)題:HTML頁(yè)面默認(rèn)不允許拖放踪栋,稱(chēng)之為HTML頁(yè)面的默認(rèn)行為
          
          解決:在dragover的事件中組織默認(rèn)行為即可event.preventDefault();

       dragleave - 當(dāng)鼠標(biāo)離開(kāi)目標(biāo)元素時(shí)觸發(fā)

    3)dataTransfer對(duì)象
         作用:類(lèi)似于window系統(tǒng)的剪切板功能
         功能:可以將源元素的信息焙格,存儲(chǔ)在這里,提供給目標(biāo)元素
         使用:
            使用事件對(duì)象獲取到dataTransfer對(duì)象
            var trans = event.dataTransfer;
            設(shè)置數(shù)據(jù)
            setData(type,data)方法              
              type:類(lèi)型夷都,特指標(biāo)識(shí)(id)眷唉,一般為字符串
              data:設(shè)置的數(shù)據(jù)內(nèi)容              
            獲取數(shù)據(jù)
            getData(type);
            清除數(shù)據(jù)
            clearData(type) 
            所有的數(shù)據(jù)內(nèi)容,存儲(chǔ)在瀏覽器內(nèi)存中囤官,當(dāng)使用完數(shù)據(jù)內(nèi)容時(shí)冬阳,要清除
            事件對(duì)象 - 作為事件處理函數(shù)的參數(shù)存在
              DOM底層代碼的默認(rèn)寫(xiě)法就是event,如果直接使用event就可以不穿event參數(shù),這種寫(xiě)法不標(biāo)準(zhǔn)
    
    4)從本地拖拽文件到頁(yè)面中
        var transfer = event.dataTransfer;        
        //找到拖拽的文件
        var file = transfer.files[0];        
        //新建文件讀取對(duì)象
        var reader = new FileReader();     
        //讀取文件
        reader.readAsDataURL(file);            
        //讀取完以后加載
        reader.onload = function(){         
          d1.innerHTML = "<img src"+reader.result+">";
        }
    4)setDragImage()

       作用:修改拖放過(guò)程中党饮,鼠標(biāo)跟隨的圖片效果
       用法:drag/dragstart等事件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肝陪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子刑顺,更是在濱河造成了極大的恐慌氯窍,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蹲堂,死亡現(xiàn)場(chǎng)離奇詭異狼讨,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)柒竞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)政供,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人朽基,你說(shuō)我怎么就攤上這事布隔。” “怎么了稼虎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵衅檀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我霎俩,道長(zhǎng)术吝,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任茸苇,我火速辦了婚禮,結(jié)果婚禮上沦寂,老公的妹妹穿的比我還像新娘学密。我一直安慰自己,他們只是感情好传藏,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布腻暮。 她就那樣靜靜地躺著彤守,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哭靖。 梳的紋絲不亂的頭發(fā)上具垫,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音试幽,去河邊找鬼筝蚕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛铺坞,可吹牛的內(nèi)容都是我干的起宽。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼济榨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坯沪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起擒滑,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腐晾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后丐一,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體藻糖,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年钝诚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颖御。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凝颇,死狀恐怖潘拱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拧略,我是刑警寧澤芦岂,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站垫蛆,受9級(jí)特大地震影響禽最,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袱饭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一川无、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虑乖,春花似錦懦趋、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帜篇。三九已至,卻和暖如春诫咱,著一層夾襖步出監(jiān)牢的瞬間笙隙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工坎缭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竟痰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓幻锁,卻偏偏與公主長(zhǎng)得像凯亮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哄尔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

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