Ich bin neu in ArcGIS javascript
und habe eines der Beispiele um ArcGIS Developers geändert, um zu versuchen, einige Fahrrouten oben auf einer Basiskarte anzuzeigen. Ich erzeuge auch eine Tabelle der Routen. Die Tabelle zeigt also an, dass der Routen-Layer hinzugefügt wurde, aber die Routen nicht auf der Karte angezeigt werden. Der Code ist unten gezeigt. Jede Hilfe wäre willkommen!Feature-Layer wird nicht angezeigt, aber die Feature-Tabelle zeigt
EDIT:
ich gefunden habe ich die Routen als ArcGISDynamicMapServiceLayer
anzeigen kann über die URL http:.../MapServer
und ich kann die Feature-Tabelle mit der URL http:.../MapServer/0
erzeugen. Ich denke, ich muss FeatureLayer
für die Routen verwenden, damit ich die Route markieren kann, die der Zeile in der Tabelle entspricht, die der Benutzer auswählt. Eine der Stichproben unter FeatureLayer Sample sagte
Dieses Beispiel veranschaulicht, wie Sie eine grundlegende Feature-Layer zu einer Zuordnung hinzufügen. Unter muss der FeatureLayer mindestens auf einen gültigen Feature-Service verweisen, der auf ArcGIS Server oder ArcGIS Online gehostet wird, oder er kann mit einem Feature Collection-Objekt erstellt werden.
Mein Verständnis ist die Route Feature ist als ein Karten-Service, nicht als Feature-Service eingerichtet. Könnte das mein Problem sein? Einige der FeatureLayer
Beispiele verwenden Layer, die auf einem MapService gespeichert sind (zB Gas Price Data), also bin ich mir nicht sicher, ob es wichtig ist.
var map, stateBaseMap, geometryLayer, routeFeature, myFeatureTable,
stateBaseMapUrl, geometryLayerUrl, routeFeatureUrl;
require([ "esri/map",
"esri/layers/ArcGISTiledMapServiceLayer",
"esri/tasks/GeometryService",
"esri/layers/FeatureLayer",
"esri/dijit/FeatureTable",
"dijit/layout/ContentPane",
"dijit/layout/BorderContainer",
"esri/geometry/Extent",
"esri/graphicsUtils",
"esri/tasks/query",
"dojo/dom",
"dojo/parser",
"dojo/ready",
"dojo/on"],
function(Map,
ArcGISTiledMapServiceLayer,
GeometryService,
FeatureLayer,
FeatureTable,
ContentPane,
BorderContainer,
Extent,
graphicsUtils,
Query,
dom,
parser,
ready,
on) {
parser.parse();
ready(function(){
esri.config.defaults.io.proxyUrl = "/llr/llrproxy";
esri.config.defaults.io.alwaysUseProxy = false;
esri.config.defaults.io.corsDetection = false;
stateBaseMapUrl = document.getElementById("shipment_stateBaseMapServiceURL").value;
geometryLayerUrl = document.getElementById("shipment_geometryServiceURL").value;
routeFeatureUrl = document.getElementById("shipment_routeLayerURL").value;
map = new Map("map");
stateBaseMap = new ArcGISTiledMapServiceLayer(stateBaseMapUrl);
map.addLayer(stateBaseMap);
geometryLayer = new GeometryService(geometryLayerUrl);
map.addLayer(geometryLayer);
routeFeature = new FeatureLayer(routeFeatureUrl, {
mode : FeatureLayer.MODE_SNAPSHOT,
outFields : [ "*" ],
visible:true,
id : "routeFeature"
});
map.addLayer(routeFeature);
on(routeFeature, "load", function(){
loadTable();
});
function loadTable(){
myFeatureTable = new FeatureTable({
featureLayer : routeFeature,
map : map,
editable: false,
fieldInfos: [
{
name: 'ORIGIN',
alias: 'Entry State'
},
{
name: 'ROUTE_DESC',
alias: 'Route Description'
},
{
name: 'DESTNATION',
alias: 'Exit State'
}
]
}, 'myTableNode');
myFeatureTable.startup();
}
});
});
Ich habe die 'map.addLayer (geometryLayer);' Zeile entfernt und es hat nicht geholfen. Ich benutzte den Debugger von Firefox, um es zu durchlaufen, und es sind keine Fehler im Javascript zu sehen. – ponder275
Das musste ich wissen. Sie ändern die Routen auf einen Feature-Service, der das Problem hoffentlich beheben wird. Wenn Sie Ihren Kommentar als Antwort geben, möchte ich ihn als Lösung wählen. – ponder275