成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

百度地圖繪制點(diǎn)、圖形

Big_fat_cat / 1704人閱讀

摘要:目標(biāo),指定經(jīng)緯度,顯示一個(gè)圖片,點(diǎn)擊圖片能顯示相應(yīng)的介紹信息,當(dāng)前屏幕把所有指定的坐標(biāo)點(diǎn)都顯示出來(lái)預(yù)覽效果添加了四個(gè)點(diǎn),紅色定位圖片表示出來(lái)實(shí)現(xiàn)準(zhǔn)備條件配置百度地圖,只要能能顯示百度地圖就定位圖片四個(gè)點(diǎn)經(jīng)緯度代碼實(shí)現(xiàn)構(gòu)建圖標(biāo)初始化四個(gè)點(diǎn)創(chuàng)建

目標(biāo):
1,指定經(jīng)緯度,顯示一個(gè)圖片,點(diǎn)擊圖片能顯示相應(yīng)的介紹信息
2,當(dāng)前屏幕把所有指定的坐標(biāo)點(diǎn)都顯示出來(lái)

預(yù)覽效果:添加了四個(gè)點(diǎn),紅色定位圖片表示出來(lái)

實(shí)現(xiàn)

準(zhǔn)備條件:
配置百度地圖,只要能findViewById(R.id.baidumap)能顯示百度地圖就ok
定位圖片

四個(gè)點(diǎn)經(jīng)緯度

   (23.17859302386026,113.41829099999994);
   (23.174924078737078,113.41754841746837);
   (23.172392232625878,113.41464769219638);
   (23.15051685805627,113.4161170382473);

代碼實(shí)現(xiàn)

        //構(gòu)建Marker圖標(biāo)
        BitmapDescriptor bd = BitmapDescriptorFactory
                .fromResource(R.drawable.location_ic_select);
        // 初始化四個(gè)點(diǎn)
        List list = new ArrayList<>();
        LatLng point1 = new LatLng(23.17859302386026,113.41829099999994);
        LatLng point2 = new LatLng(23.174924078737078,113.41754841746837);
        LatLng point3 = new LatLng(23.172392232625878,113.41464769219638);
        LatLng point4 = new LatLng(23.15051685805627,113.4161170382473);
        list.add(point1);
        list.add(point2);
        list.add(point3);
        list.add(point4);
        //創(chuàng)建OverlayOptions的集合
        List options = new ArrayList();
        for(LatLng point:list){
            //創(chuàng)建OverlayOptions屬性
            OverlayOptions option1 =  new MarkerOptions()
                    .position(point)
                    .icon(bd);
            //將OverlayOptions添加到list
            options.add(option1);
        }
        //在地圖上批量添加
        mBaiduMap.addOverlays(options);
        // 讓手機(jī)屏幕顯示出所有點(diǎn)
        mBaiduMap.setOnMapLoadedCallback(new BaiduMap.OnMapLoadedCallback() {
            @Override
            public void onMapLoaded() {
               
                LatLngBounds.Builder builder = new LatLngBounds.Builder();
                for(LatLng latLng : list){
                    builder = builder.include(latLng);
                }
                LatLngBounds latlngBounds = builder.build();
                MapStatusUpdate u = MapStatusUpdateFactory.newLatLngBounds(latlngBounds,mMapView.getWidth(),mMapView.getHeight());
                mBaiduMap.animateMapStatus(u);
            }
        });

以上代碼便能在地圖上顯示出四個(gè)點(diǎn)了

 3. 圖標(biāo)點(diǎn)擊事件:點(diǎn)擊圖標(biāo)后顯示一些信息

            // 每個(gè)圖標(biāo)都是一個(gè)Marker,通過(guò)百度地圖的Marker的點(diǎn)擊事件來(lái)達(dá)到想要的效果
            mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                // 構(gòu)建一個(gè)需要顯示的view,我這里只是一個(gè)textview,也可以是其他的布局
                TextView tv = new TextView(mContext);
                tv.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                tv.setBackgroundResource(R.drawable.shape_buttn_text);
                tv.setText("hello world");
                // -130表示的是y軸的便宜量
                InfoWindow infoWindow =new InfoWindow(tv,marker.getPosition(),-130);
                //通過(guò)百度地圖來(lái)顯示view
                mBaiduMap.showInfoWindow(infoWindow);
                return true;
            }
        });
    4. 點(diǎn)擊非圖標(biāo)區(qū)域隱藏Marker

        // 我這里的解決方法是設(shè)置地圖底圖的點(diǎn)擊事件,來(lái)隱藏marker
        mMapView.getChildAt(0).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mBaiduMap.hideInfoWindow();
            }
        });
結(jié)束

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77102.html

相關(guān)文章

  • 百度地圖開(kāi)發(fā)實(shí)例番外篇--實(shí)用方法(持續(xù)更新)

    摘要:一前言在使用百度地圖開(kāi)發(fā)的過(guò)程中,查閱百度地圖官網(wǎng)基本上就能滿足開(kāi)發(fā)的需求,但是有時(shí)候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。希望百度地圖能夠越來(lái)越強(qiáng)大,這樣開(kāi)發(fā)者就可以愉快的開(kāi)發(fā)了 一 前言 在使用百度地圖開(kāi)發(fā)的過(guò)程中,查閱百度地圖官網(wǎng)demo基本上就能滿足開(kāi)發(fā)的需求,但是有時(shí)候需要設(shè)置一些東西,很難在官網(wǎng)上查閱到相關(guān)的方法技巧。筆者特意把開(kāi)發(fā)過(guò)程中遇到的一些疑難雜癥和解...

    CocoaChina 評(píng)論0 收藏0
  • vue地圖可視化 ArcGIS篇(3)

    摘要:不建議底圖選擇中存在兩種不同坐標(biāo)體系,如下圖坐標(biāo)存在明顯的偏差,火星坐標(biāo)在采用坐標(biāo)系的地圖上位置偏上彩色中國(guó)天地圖全球衛(wèi)星地圖例如我們使用的類(lèi)進(jìn)行查找,返回的數(shù)據(jù)都是國(guó)際坐標(biāo),因此必須進(jìn)行偏差糾正。 ArcGIS for javascript開(kāi)發(fā)心得 本次實(shí)例中采用ArcGIS for javascript3.24版本,由于版本3與4在API等存在較大區(qū)別,就不一一列舉,詳細(xì)區(qū)別看官方...

    oogh 評(píng)論0 收藏0
  • echarts 與 highcharts

    摘要:渲染能力采用渲染除了對(duì)使用,一般來(lái)說(shuō),更適合繪制圖形元素?cái)?shù)量非常大這一般是由數(shù)據(jù)量大導(dǎo)致的圖表如熱力圖地理坐標(biāo)系或平行坐標(biāo)系上的大規(guī)模線圖或散點(diǎn)圖等,也利于實(shí)現(xiàn)某些視覺(jué)特效如交通圖。 一.簡(jiǎn)介 echartsecharts是百度公司前端開(kāi)發(fā)的一個(gè)圖表庫(kù),2013年發(fā)布第一版,主要采用canvas畫(huà)圖,目前版本3.8.4;完全免費(fèi); highcharthighcharts是國(guó)外的一家公司...

    王笑朝 評(píng)論0 收藏0
  • mxGraph使用經(jīng)驗(yàn)總結(jié)

    摘要:邊繪制成折線的時(shí)候?yàn)閮煞N形式,默認(rèn)是通過(guò)貝塞爾曲線繪制成帶圓角的折線,另一種是直角折線。在開(kāi)發(fā)中我對(duì)邊的繪制方式進(jìn)行了小小的修改,統(tǒng)一改為直接使用三次貝塞爾曲線連接,具體代碼如下調(diào)用內(nèi)置函數(shù)繪制三次貝塞爾曲線忽略后面繪制折線的代碼參考 mxGraph是一個(gè)支持多種語(yǔ)言(Java、JavaScript、PHP、.NET)的畫(huà)圖框架,所繪制的圖形可以在主流瀏覽器以及原生應(yīng)用上使用。mxGr...

    k00baa 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Big_fat_cat

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<