Mais

Mostrar uma ArcGIS InfoWindow no Map Init

Mostrar uma ArcGIS InfoWindow no Map Init


Eu criei um mapa com um marcador simples em um local especificado, mas não consigo descobrir como ter uma janela de informações anexada à posição aberta automaticamente no carregamento da página.

Esta é minha função init:

// Disponha as bibliotecas necessárias dojo.require ("dijit.layout.BorderContainer"); dojo.require ("dijit.layout.ContentPane"); dojo.require ("dijit.TitlePane"); dojo.require ("esri.map"); dojo.require ("esri.dijit.Popup"); dojo.require ("esri.symbol"); dojo.require ("esri.dijit.BasemapGallery"); dojo.require ("esri.arcgis.utils"); dojo.require ("esri.dijit.Geocoder"); var map = null; var gsvc = null; var pt = nulo; function init () {esri.config.defaults.geometryService = new esri.tasks.GeometryService ("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); // cria o mapa map = new esri.Map ("map", {mapa base: "topo", // Possibilidades: "ruas", "satélite", "híbrido", "topo", "cinza", "oceanos" , "nacional-geográfico", "osm" center: [@ Model.Longitude.ToString (), @ Model.Latitude.ToString ()], // long, lat (Middle of the USA) 2140164826 zoom: 11, logotipo: false}); // adiciona a galeria do mapa base var basemapGallery = new esri.dijit.BasemapGallery ({showArcGISBasemaps: true, map: map}, "basemapGallery"); basemapGallery.startup (); var Geocoder = new esri.dijit.Geocoder ({map: map}, dojo.byId ("search")); Geocoder.startup (); dojo.connect (basemapGallery, "onError", função (msg) {console.log (msg)}); dojo.connect (map, "onClick", projectToLatLong); var point = new esri.geometry.Point (@ Model.Longitude, @ Model.Latitude); ponto = esri.geometry.geographicToWebMercator (ponto); var symbol = new esri.symbol.SimpleMarkerSymbol (). setColor (new dojo.Color ([255, 0, 0, 0.5])); var gráfico = novo esri.Graphic (ponto, símbolo); var layer = new esri.layers.GraphicsLayer (); layer.add (gráfico); map.addLayer (camada); }

A documentação da API mostra 4 parâmetros que você pode usar ao criar um gráfico ...

novo gráfico (geometria ?, símbolo ?, atributos ?, infoTemplate?)

consulte a documentação da API para "Gráfico". Você só precisa configurar seu modelo de informações e anexá-lo ao gráfico ao fazer a chamada. No momento, você está usando apenas 2 dos 4 parâmetros.

Veja este exemplo Geocodifique um endereço. Nesse exemplo, você insere um endereço e o script adiciona um ponto gráfico para esse endereço e constrói um modelo de informações para ele. Isso deve ajudar.

Se você realmente deseja que ele apareça com as informações ao carregar, você apenas terá que adicionar uma função que será executada quando o mapa for carregado.

map.on ("carregar", executeIdentifyTask);

Esta será a mesma função que você normalmente chamaria no evento de clique

map.on ("clique", executeIdentifyTask);

mas em vez disso, você o está executando a partir do evento de carregamento.