スクリーン座標の視野角を得るためのウェブガイドマップ、その他の点を再ロードするとき、マーカーを移動する負荷画面の唯一の可視領域を実装

VaRのリフレッシュ。

markerArrました= [];

VaRのTMAP =新しいAMap.Map( 'コンテナ'、{

            中央:[114.513018,37.894788]、
            ズーム:13、
            resizeEnable:真

        });


//缩放级别=============開始
        AMap.event.addListener(TMAP、 'zoomend'、関数(){
            VAR sfjb = tmap.getZoom();
            IF(sfjb <13){
                ため(VAR I = 0; iがmarkerArr.lengthを<; I + = 1){
                    markerArr [I] .hide();
                }
            }他{
            ため(VAR i = 0; I <markerArr.length; I + = 1) {
                     markerArr [I] .SHOW();
                 }
            }
            
        })。

      //ズームレベルのエンド=============

リフレッシュ=関数(){

//四角形を描画するために、画面の視覚的な範囲の座標を取得します

VAR tmapBounds = tmap.getBounds()。VAR南西=新しいAMap.LngLat(tmapBounds.southwest.lng、tmapBounds.southwest.lat)。VAR東北=新しいAMap.LngLat(tmapBounds.northeast.lng、tmapBounds.northeast.lat)。VAR境界=新しいAMap.Bounds(南西、北東)VAR矩形=新しいAMap.Rectangle({       マップ:TMAP、      境界:境界、      strokeColor: '#1 FFFFFF'、      strokeWeight:1、      strokeOpacity:0、      fillOpacity:0、      のZIndex。 0、      バブル:真
   
   


   
   
   
   
   
   
   
   
   
   

        });

// lineArr座標配列[名前、[緯度、経度]、オフセット角] 


(; iは<lineArr.length; VAR I = 0、マーカー、txtmarker iは++)のために{ VAR markername = lineArr [I] [0]。VAR markerAngle = lineArr [I] [2]。VAR markerContent = markername。                     VaRのmyLngLat =新しいAMap.LngLat(lineArr [I] [1] [0]、lineArr [I] [1] [1])。                      IF(rectangle.contains(myLngLat)&& tmap.getZoom()> 13){//如果点在矩形内则输出マーカー=新しいAMap.Marker({                             位置:lineArr [I] [1]、                            マップ:TMAP、                            アイコン:新しいAMap.Icon({                                             画像:xhjIcon + '2.png'、                                IMAGESIZE:新しいAMap.Size(12,23)                            })、
                   
                   
                   


                   






                            タイトル:markerContentは、
                            ズーム:[15,18]、
                            角度:markerAngle、//旋转角度
                            オフセット:新しいAMap.Pixel(0、0) 
                        })。marker.content = markerContent。marker.on( 'クリック'、markerClick)。markerArr.push(マーカー); txtmarker =新しいAMap.Text({                             テキスト:markerContent、                            タイトル:markerContent、                            マップ:TMAP、                            textAlign: '左'、                              verticalAlign: 'ミドル'、                            ドラッグ可能:真、
                   
                   
                   
                   
                   






                            カーソル「ポインタ」、
                            スタイル:{
                                「背景色」:「#のf4f4f4」、
                                「境界」:「ソリッド1ピクセルの#DFDFDF」、
                                「パディング」:「1ピクセルが2ピクセル」、
                                「フォントサイズ」:「12ピクセル」
                            } 、
                            位置:lineArr [i]が[1]、
                            オフセット:新しいAMap.Pixel(0、0)  
                        })。txtmarker.content = markerContent。txtmarker.on( 'クリック'、markerClick)。markerArr.push(txtmarker)。                    }
                   
                   
                   

                }

}

終了//マップパンは=============開始
       AMap.event.addListener(TMAP、 'MoveEnd'、機能(){

       //tmap.clearMap(); //すべて削除が追加されます

          tmap.remove(markerArr); //のみマーカー点群を削除

       ;)(リフレッシュ 
       )};
     //マップパン端端=============

関数markerClick(E){ infoWindow.close()。        VAR情報= [];         info.push( '点点击</ span>の<スパンクラス= "dianji">マーカー');         情報ウィンドウ=新しいAMap.InfoWindow({ オフセット:新しいAMap.Pixel(0、0)、            コンテンツ:info.join( '<BR>')          })。        infoWindow.open(TMAP、e.target.getPosition())。}
   



       



   

おすすめ

転載: blog.csdn.net/zhu_nana/article/details/80063757