arcgis.js controls the display range of the map body to automatically bounce back when it exceeds the area (implementation ideas)

arcgis.js controls the display range of the map body to automatically bounce back when it exceeds the area (implementation ideas)

background

A while ago, we encountered a problem in a company project. The map base map area only has a part of the range. If it exceeds the current range, a white background will be displayed, which is very bad in terms of usage effect. The accompanying requirements are that the map should be zoomed out, and when the mouse moves the map beyond the display range of the base map, the base map needs to rebound.

Effect

insert image description here

Ideas

1. arcgis.js controls its display range and automatically bounces back when it exceeds the base map display range. (1) After the map is created, use the listener event to listen to the map range change and call the shwoExtent method, which will pass the values ​​of the upper left and lower right corners of the map.

this.gisMap.on('extent-change',this.showExtent)

(2) Determine whether the current map display range exceeds the visible range of the map based on the full extent of the map's maximum display range. If it exceeds the range, the map's maximum range is displayed and the map rebounds.

Code snippet

// An highlighted block
let fullExtent = {
    xmin: xx,
    ymin: xx,
    xmax: xx,
    ymax: xx,
   }
showExtent(extS){
   let ext = extS.extent;  
    if (ext.xmin<this.fullExtent.xmin||ext.xmax>this.fullExtent.xmax||ext.ymax>this.fullExtent.ymax||ext.ymin<this.fullExtent.ymin) {
    let fullExtent = new esri.geometry.Extent(
     {
      ...this.fullExtent, 
      spatialReference:new esri.SpatialReference({ wkid: parseInt(4490) }) //SpatialReference sets the map coordinate system}
    );
    this.gisMap.setExtent(fullExtent);
   }
  },

Reference document: https://developers.arcgis.com/javascript/3/jsapi/extent-amd.html

Note: When consulting the documentation, you need to know what version of arcgis.js is used in the project.

This is the end of this article about arcgis.js controlling the display range of map bodies and automatically rebounding when the display range exceeds the area. For more relevant content about arcgis.js map display range, please search previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • ArcGIS for js raster layer overlay (Raster Layer) problem
  • How to modify the infowindow style in arcgis for js
  • Realizing the effect of Baidu map ABCD marker based on ArcGIS for javascript

<<:  MySQL5.6.31 winx64.zip installation and configuration tutorial

>>:  Install and use Git and GitHub on Ubuntu Linux

Recommend

Briefly talk about mysql left join inner join

Preface I have been busy developing a cold chain ...

An article to help you thoroughly understand position calculation in js

Table of contents introduction scroll Element.scr...

3 ways to add links to HTML select tags

The first one : Copy code The code is as follows: ...

Some ways to eliminate duplicate rows in MySQL

SQL statement /* Some methods of eliminating dupl...

How to modify the length limit of group_concat in Mysql

In MySQL, there is a function called "group_...

9 great JavaScript framework scripts for drawing charts on the web

9 great JavaScript framework scripts for drawing ...

Introduction to document.activeELement focus element in JavaScript

Table of contents 1. The default focus is on the ...

Basic usage knowledge points of mini programs (very comprehensive, recommended!)

Table of contents What to do when registering an ...

How to mount the CD to find the rpm package under Linux

Written in front Sometimes you need to install so...

The difference between ENTRYPOINT and CMD in Dockerfile

In the Docker system learning tutorial, we learne...

Implementing carousel effects with JavaScript

This article shares the specific code for JavaScr...

Detailed explanation of the principles of Vue's responsive system

Table of contents The basic principles of Vue'...

Vue implements image drag and drop function

This article example shares the specific code of ...