view.goTo지도는 빈 arcgis를 렌더링합니다.

괴물

저는 arcgis지도에서 작업 중입니다. 내지도보기에서 goTo ()를 호출하여지도 중심을 업데이트하려고하지만 어떤 이유로지도가 공백으로 변경되고 업데이트되지 않습니다. 새 좌표를 기록하고 있으며 정확합니다. .

https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html 에서 참조 문서를 사용하고 있습니다.

일부 arcgis 경험을 가진 사람이 나를 도울 수 있습니까? 나는 이것이 내 코드에서 특별히 문제가 아니라는 것을 알고 있지만 arcgis와 관련하여 vue 및 구성 요소 렌더링 문제 일 수 있습니다.

지금까지 나는 소품을 제거하고 구성 요소 내의 모든 것을 로컬로 업데이트-키를 사용하여 구성 요소를 강제로 다시 렌더링했습니다.

흥미로운 점은 새 위치에 매직 넘버를 입력하면지도가 올바르게 업데이트되지만 일부 기능을 사용하여 위치를 가져 와서 전달하면 작동하지 않고 빈지도로 표시됩니다.

내 app.vue

<template>
    <div id="app">
        <web-map v-bind:centerX="lat" v-bind:centerY="long" ref="map"/>

        <div class="center">
          <b-button class="btn-block" @click="updateCenter()" variant="primary">My Location</b-button>
        </div>
    </div>


</template>

<script>
import WebMap from './components/webmap.vue';

export default {
    name: 'App',
    components: { WebMap }, 
    data(){
      return{
        lat: null,
        long: null,
      }
    },
    methods:{
      updateCenter(){
        this.$refs.map.getLocation()
      }
    },
};
</script>

내지도 구성 요소

<template>
  <div></div>
</template>

<script>
import { loadModules } from 'esri-loader';

export default {
  name: 'web-map',
  data: function(){
    return{
      X: -118,
      Y: 34,

    }
  },
  mounted() {
    console.log('new data',this.X,this.Y)

    // lazy load the required ArcGIS API for JavaScript modules and CSS
    loadModules(['esri/Map', 'esri/views/MapView'], { css: true })
    .then(([ArcGISMap, MapView]) => {
      const map = new ArcGISMap({
        basemap: 'topo-vector'
      });

      this.view = new MapView({
        container: this.$el,
        map: map,
        center: [-118,34],   ///USE PROPS HERE FOR NEW CENTER
        zoom: 8
      });
    });
  },
  beforeDestroy() {
    if (this.view) {
      // destroy the map view
      this.view.container = null;
    }
  },


  methods:{
    showPos(pos){
        console.log('new location',pos.coords.latitude,pos.coords.longitude) 
        this.view.goTo({center:[pos.coords.latitude,pos.coords.longitude]})  
      },


      getLocation(){
        if (navigator.geolocation) {
              navigator.geolocation.getCurrentPosition(this.showPos);
          } else { 
            console.log("Geolocation is not supported by this browser.");
          }
      },
  }

};

</script>
사람들

다음은 작동하는 것입니다.

https://codesandbox.io/s/frosty-glitter-39wpe?file=/src/App.vue

나는 처음부터 그것을 만들었고, 당신의 작은 부분만을 가져 와서 ArcGIS의 몇 가지 예제와 결합했습니다 (전혀 익숙하지 않습니다).

한 가지 주목할 점은 .goTo({center: [lat, long]})예상대로 작동하지 않았다는 것입니다. 일부 바다 한가운데 중앙에 계속 배치되었습니다.
그런 다음 예상 결과를 생성하는 것처럼 보이는 as 에서 Point를 가져 esri오고 전달했습니다 . 작동하기 때문에 더 이상 보지 않았지만 변환 없이도 가능해야한다고 생각합니다. 이 선을 따라 좌표계 또는 무언가를 전달해야 할 것입니다.centernew Point(long, lat)

내가 말할 수있는 한, 귀하의 예에서 잘못된 것은 부모에서 자식으로 데이터를 전달하려는 방식입니다. this.$refs.mapVue 인스턴스가 될 것으로 예상 하지만 그렇지 않습니다. DOM 요소입니다. 기본적으로 Vue 인스턴스의 $el. 부모 인스턴스에서 자식 메서드에 액세스하는 것은 그리 간단하지 않습니다. 통지에 또 다른 것은 당신이 바인드에도 불구하고, 즉 centerXcenterY귀하의 예제에서 아이에, 당신이 그들을 사용하는 것 없다 (그러나 나는 당신이 소품 시도 할 때부터 단지가 남은 것 같아요!?).

어쨌든, 제 예에서 저는 아이들의 coords prop을 간단히 업데이트하고 watchre-centering을 처리 하는 fn을 선택했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

React 라우터는 가져온 후 빈 페이지를 렌더링합니다.

분류에서Dev

폴리머 튜토리얼 앱은 빈 페이지를 렌더링합니다.

분류에서Dev

Puppeteer는 중단 점을 설정하지 않을 때 빈 페이지를 렌더링합니다.

분류에서Dev

ERB는 선택 레일을 채울 때 빈 페이지를 렌더링합니다. 3

분류에서Dev

얕은 렌더링은 빈 객체를 반환하고, wrapper.debug ()는 완전히 렌더링 된 구성 요소를 표시합니다.

분류에서Dev

Ember 앱은 특정 URL을 입력 할 때 빈 페이지를 렌더링합니다.

분류에서Dev

핸들 바는 Node Express 앱의 json 배열에서 추가 빈 개체를 렌더링합니다.

분류에서Dev

Select Tag Helper는 viewmodel에서 데이터를 가져올 때 빈 목록을 렌더링합니다.

분류에서Dev

Python libtorrent는 자석 링크로 빈 토렌트를 생성합니다.

분류에서Dev

Firefox는 항상 별도의 줄에 <a>를 렌더링합니다.

분류에서Dev

libGDX는 PNG 투명도를 잘못 렌더링합니다.

분류에서Dev

Twig가 빈 페이지를 렌더링하는 이유는 무엇입니까?

분류에서Dev

Django는 dict를 HTML 페이지로 렌더링합니다.

분류에서Dev

기본 기본 ListItem이 빈 뷰를 렌더링합니까?

분류에서Dev

오류 : 다시 렌더링이 너무 많습니다. React는 렌더링 수를 제한합니다.

분류에서Dev

Jade는 ng-view 지시문으로 요소를 올바르게 렌더링하지 않습니다.

분류에서Dev

Jquery .each ()는 HTML 대신 [object HTMLUListElement]를 렌더링합니다.

분류에서Dev

Asp.Net Core는 ViewComponent를 변수로 렌더링합니다.

분류에서Dev

Recharts는 원형 차트를 세로로 렌더링합니다.

분류에서Dev

Ejs는 부분을 포함 할 때 {}를 렌더링합니다.

분류에서Dev

WinJS는 테이블에서 listView를 렌더링합니다.

분류에서Dev

React (Preact)는 콘텐츠를 두 번 렌더링합니다.

분류에서Dev

Shiny는 플롯이 렌더링되지 않을 때 빈 블랑 공간을 유지합니다.

분류에서Dev

Angular View는 PhantomJS를 통해 렌더링 될 때 템플릿에서로드되지 않습니다.

분류에서Dev

Safari는 각 렌더링에서 배열 요소를 다른 순서로 렌더링합니다.

분류에서Dev

React는 컴포넌트를 렌더링 한 후 전체 앱을 다시 렌더링합니다.

분류에서Dev

firebase에서 값을 가져 와서 반응에서 함수를 렌더링하도록 렌더링합니다.

분류에서Dev

Rails 앱이 주제 이름을 렌더링하지 않고 대신 주제 / 9를 렌더링합니다.

분류에서Dev

xalan : nodeset은 노드를 렌더링하지 않고 텍스트 만 렌더링합니다.

Related 관련 기사

  1. 1

    React 라우터는 가져온 후 빈 페이지를 렌더링합니다.

  2. 2

    폴리머 튜토리얼 앱은 빈 페이지를 렌더링합니다.

  3. 3

    Puppeteer는 중단 점을 설정하지 않을 때 빈 페이지를 렌더링합니다.

  4. 4

    ERB는 선택 레일을 채울 때 빈 페이지를 렌더링합니다. 3

  5. 5

    얕은 렌더링은 빈 객체를 반환하고, wrapper.debug ()는 완전히 렌더링 된 구성 요소를 표시합니다.

  6. 6

    Ember 앱은 특정 URL을 입력 할 때 빈 페이지를 렌더링합니다.

  7. 7

    핸들 바는 Node Express 앱의 json 배열에서 추가 빈 개체를 렌더링합니다.

  8. 8

    Select Tag Helper는 viewmodel에서 데이터를 가져올 때 빈 목록을 렌더링합니다.

  9. 9

    Python libtorrent는 자석 링크로 빈 토렌트를 생성합니다.

  10. 10

    Firefox는 항상 별도의 줄에 <a>를 렌더링합니다.

  11. 11

    libGDX는 PNG 투명도를 잘못 렌더링합니다.

  12. 12

    Twig가 빈 페이지를 렌더링하는 이유는 무엇입니까?

  13. 13

    Django는 dict를 HTML 페이지로 렌더링합니다.

  14. 14

    기본 기본 ListItem이 빈 뷰를 렌더링합니까?

  15. 15

    오류 : 다시 렌더링이 너무 많습니다. React는 렌더링 수를 제한합니다.

  16. 16

    Jade는 ng-view 지시문으로 요소를 올바르게 렌더링하지 않습니다.

  17. 17

    Jquery .each ()는 HTML 대신 [object HTMLUListElement]를 렌더링합니다.

  18. 18

    Asp.Net Core는 ViewComponent를 변수로 렌더링합니다.

  19. 19

    Recharts는 원형 차트를 세로로 렌더링합니다.

  20. 20

    Ejs는 부분을 포함 할 때 {}를 렌더링합니다.

  21. 21

    WinJS는 테이블에서 listView를 렌더링합니다.

  22. 22

    React (Preact)는 콘텐츠를 두 번 렌더링합니다.

  23. 23

    Shiny는 플롯이 렌더링되지 않을 때 빈 블랑 공간을 유지합니다.

  24. 24

    Angular View는 PhantomJS를 통해 렌더링 될 때 템플릿에서로드되지 않습니다.

  25. 25

    Safari는 각 렌더링에서 배열 요소를 다른 순서로 렌더링합니다.

  26. 26

    React는 컴포넌트를 렌더링 한 후 전체 앱을 다시 렌더링합니다.

  27. 27

    firebase에서 값을 가져 와서 반응에서 함수를 렌더링하도록 렌더링합니다.

  28. 28

    Rails 앱이 주제 이름을 렌더링하지 않고 대신 주제 / 9를 렌더링합니다.

  29. 29

    xalan : nodeset은 노드를 렌더링하지 않고 텍스트 만 렌더링합니다.

뜨겁다태그

보관