GithubHelp home page GithubHelp logo

Comments (7)

andygup avatar andygup commented on June 17, 2024

That's strange, maybe try a quick test using a single Graphic.geometry? Or, maybe create a separate Graphic's Collection and try injecting that into mapview.goTo()?

from angular-esri-map.

snobrdinrtiste avatar snobrdinrtiste commented on June 17, 2024

tried just adding a single graphic to the mapview and not using a graphiclayer ...

                            var polygonsymbol = {
                                type: "simple-fill", 
                                color: [68, 68, 68, 0.25],
                                style: "solid",
                                outline: { 
                                    color: "#cc0000",
                                    width: 3
                                }
                            };
                            var ncgraphic = new Graphic({
                                geometry: Poly,
                                symbol: polygonsymbol
                            });
                            vm.mapView.graphics.add(ncgraphic);
                            vm.mapView.goTo(ncgraphic.geometry);

the graphic gets added to the mapview but its extent does not get zoomed into the graphic's geometry

also, what do you mean by creating a separate Graphic's Collection? Like a GraphicsLayer? I have tried using the graphicslayer in the beginning and it didn't work

                           var graphiclayer = new GraphicsLayer();
                           var polygonsymbol = {
                                type: "simple-fill", 
                                color: [68, 68, 68, 0.25],
                                style: "solid",
                                outline: { 
                                    color: "#cc0000",
                                    width: 3
                                }
                            };
                            var ncgraphic = new Graphic({
                                geometry: Poly,
                                symbol: polygonsymbol
                            });
                            graphiclayer.graphics.add(ncgraphic);
                            vm.mapView.graphics.add(graphiclayer);
                            vm.mapView.goTo(graphiclayer.graphics);

Now if i use the Instantiated map object (instead of mapview) to set the extent the original Polygon's extent... it zooms in ... like this

                           vm.map.extent = Poly.extent;
                           vm.map.zoom = 10;

however, I want to see BOTH my point and polygon graphics extent in the map

from angular-esri-map.

jwasilgeo avatar jwasilgeo commented on June 17, 2024
  1. How does AngularJS, Angular, or angular-esri-map play a role in this issue?

  2. Can you recreate your described behavior in standalone sample?

I was able to get it to work by adding this quick test line to this sample:

https://developers.arcgis.com/javascript/latest/sample-code/intro-graphics/index.html

setTimeout(function() { view.goTo(view.graphics); }, 2000);

from angular-esri-map.

snobrdinrtiste avatar snobrdinrtiste commented on June 17, 2024

wow... so it seems like the mapview needs a couple seconds to register the graphics ...
thank you very much ... setting a timeout worked for me too

from angular-esri-map.

jwasilgeo avatar jwasilgeo commented on June 17, 2024

@snobrdinrtiste I would advise against relying on setTimeout. That was just for a quick test.

You should rely on view.when... as you continue to work with JSAPI v4.

from angular-esri-map.

snobrdinrtiste avatar snobrdinrtiste commented on June 17, 2024

@jwasilgeo thanks for the heads up... i was actually reading up on that Promise while in my meeting just now... i'll definitely try that out. thanks for all your help!!!!

Edit: Finally got a chance to make the necessary changes and this works ....

               vm.mapView.when(function () {
                     vm.mapView.goTo(vm.mapView.graphics);
                     vm.mapView.zoom = 12;
               });

from angular-esri-map.

andygup avatar andygup commented on June 17, 2024

Here's a good overview of working with promises in the JS API v4 https://developers.arcgis.com/javascript/latest/guide/programming-patterns/#async-data

from angular-esri-map.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.