摘要:項目要求左右兩張地圖能夠在鼠標懸浮的時候高亮部分聯動,曾嘗試了不好使,所以自己寫了這段代碼。遇見的坑使用引發,會發現只能顯示很短的時間,所以我鼠標移入地圖時,給另一個地圖設置和。而獲取的時候會成為數組,也許是為了滿足多個的需求。
項目要求左右兩張地圖能夠在鼠標懸浮的時候高亮部分聯動,曾嘗試了connect不好使,所以自己寫了這段代碼。代碼思路為:
鼠標移入地圖時,另一側的地圖根據鼠標懸浮獲取到的區域name使該區域高亮;
鼠標移入地圖時,根據鼠標在地圖的坐標位置,使另一側的地圖tooltip懸浮于獲取的坐標位置,保證兩張地圖的tooltip的位置相同。
遇見的坑:
使用dispatchAction引發showTip,會發現tooltip只能顯示很短的時間,所以我鼠標移入地圖時,給另一個地圖設置tooltip[0].alwaysShowContent=true和tooltip[0].triggerOn="none"。官網要求使用dispatchAction引發showTip需要設置triggerOn="none",但是我試了有沒有都行,有alwaysShowContent=true就行;
在設置tooltip的時候,使用的是對象。而獲取的時候tooltip會成為數組,也許echarts是為了滿足多個tooltip的需求。
函數只要傳進去echarts實例就行,代碼如下:
//前面的代碼省略直接調用,傳入echarts實例對象 connectMap(chart1,chart2); function connectMap(chart1,chart2){ //當鼠標移入左側的地圖上 chart1.on("mouseover",function(target){ var option=chart2.getOption(); option.tooltip[0].alwaysShowContent=true; option.tooltip[0].triggerOn="none"; chart2.setOption(option,true); chart2.dispatchAction({ type:"downplay", seriesName:"rightmap" }) chart2.dispatchAction({ type:"highlight", name:target.name, }) }) chart1.on("mousemove",function(target){ chart2.dispatchAction({ type:"showTip", name:target.name, x:target.event.offsetX, y:target.event.offsetY }) }) chart1.on("mouseout",function(){ var option=chart2.getOption(); option.tooltip[0].alwaysShowContent=false; option.tooltip[0].triggerOn="mousemove"; chart2.setOption(option,true); chart2.dispatchAction({ type:"hideTip" }) }) //當鼠標移到右邊的地圖 chart2.on("mouseover",function(target){ var option=chart1.getOption(); option.tooltip[0].alwaysShowContent=true; option.tooltip[0].triggerOn="none"; chart1.setOption(option,true); chart1.dispatchAction({ type:"downplay", seriesName:"rightmap" }) chart1.dispatchAction({ type:"highlight", name:target.name, }) }) chart2.on("mousemove",function(target){ chart1.dispatchAction({ type:"showTip", name:target.name, x:target.event.offsetX, y:target.event.offsetY }) }) chart2.on("mouseout",function(){ var option=chart1.getOption(); option.tooltip[0].alwaysShowContent=false; option.tooltip[0].triggerOn="mousemove"; chart1.setOption(option,true); chart1.dispatchAction({ type:"hideTip" }) }) }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/90385.html
摘要:不建議底圖選擇中存在兩種不同坐標體系,如下圖坐標存在明顯的偏差,火星坐標在采用坐標系的地圖上位置偏上彩色中國天地圖全球衛星地圖例如我們使用的類進行查找,返回的數據都是國際坐標,因此必須進行偏差糾正。 ArcGIS for javascript開發心得 本次實例中采用ArcGIS for javascript3.24版本,由于版本3與4在API等存在較大區別,就不一一列舉,詳細區別看官方...
摘要:需求展示西安市各區縣的地圖,點擊各區縣下鉆到各鄉鎮街道,只能內網環境使用,不可用通過百度高德地圖來實現。利用展示自定義的地圖關于具體如何導入格式數據到的方法,可以參考官方示例。 需求 展示西安市各區縣的地圖,點擊各區縣下鉆到各鄉鎮/街道,只能內網環境使用,不可用通過百度/高德地圖來實現。 解決 利用地圖數據生成區域的geojson 網絡上大部分地圖數據只是到省市,最多到區縣,再往下的數...
摘要:最早我是想通過方法去改變選中的省份,但是沒有起作用,如果你知道這個方法怎么實現,麻煩你可以告訴我。指定圖表的配置項和數據中國默認高亮安徽省安徽使用剛指定的配置項和數據顯示圖表。 最早我是想通過dispatchAction方法去改變選中的省份,但是沒有起作用,如果你知道這個方法怎么實現,麻煩你可以告訴我。我實現的方法是另外一種。 dispatchAction({ type: ge...
閱讀 1393·2021-11-24 09:38
閱讀 2097·2021-09-22 15:17
閱讀 2396·2021-09-04 16:41
閱讀 3491·2019-08-30 15:56
閱讀 3522·2019-08-29 17:19
閱讀 1982·2019-08-28 18:09
閱讀 1260·2019-08-26 13:35
閱讀 1719·2019-08-23 17:52