Suite

ESRI JavaScript API 3.8 Localisateur : SyntaxError {log : non défini, pile : (… ), message : « Jeton inattendu < »}


J'ai des problèmes en essayant de configurer un géocodeur/localisateur sur mon serveur. je continue d'avoir une erreur SyntaxError {log : non défini, pile : (… ), message : "Jeton inattendu <"}, mais je n'arrive pas à comprendre pourquoi. J'ai essayé d'explorer le message d'erreur, mais je n'en tire pas beaucoup de bonnes informations.

J'ai essayé d'utiliser le widget géocodeur d'ESRI, puis j'ai créé ma propre configuration à l'aide du service de localisation. J'ai vérifié ma chaîne d'adresse et je pense qu'elle devrait être correctement transmise au serveur.

Si je comprends bien le message d'erreur, cela signifie qu'il y a un jeton "<" quelque part qui ne devrait pas être là, mais je ne peux pas le trouver.

Autre information… J'exécute la version 9.3.1 pour mon serveur, en utilisant l'API JavaScript 3.8 hébergée par ESRI, et j'ai créé un localisateur d'adresses sur mon serveur en utilisant les axes des rues pour la zone que je cartographie.

Quelqu'un a-t-il déjà rencontré ce problème ou a-t-il des suggestions à me faire ? En ce moment, j'essaie juste de centrer la carte sur l'emplacement. Une fois cela fait, je peux m'inquiéter de toutes les autres choses.

Mon code pour le localisateur est ci-dessous. Voici mon site de développement.

/////////////////////////////////////////////////////////////// /////////////// locator = new Locator(singleFieldGeocodeURL); //ajout d'un gestionnaire pour l'achèvement locator.on("address-to-locations-complete", showResults); // essayer de trouver l'erreur locator.on("error", function (error) { errorObject = error; console.log("error" + error); }); // ajouter un gestionnaire pour le bouton cliquez sur (dom.byId('localiser'), 'clic', fonction () { console.log(dom.byId('adresse').value);map.graphics.clear(); var address = { "SingleLine": dom.byId('address').value } ; locator.outSpatialReference = map.spatialReference ; var options = { address : { street : address }, outFields : ["Loc_name"] } ; locator .addressToLocations(options); }); function showResults(evt) { console.log("dans afficher les résultats"); candidat var; symbole var = new SimpleMarkerSymbol(); symbol.setStyle(SimpleMarkerSymbol.STYLE_SQUARE); symbol.setColor(new Color([153, 0, 51, 0.75])); var geom; arrayUtils.event(evt.addresses, function (candidate) { console.log(candidate.score); if (candidate.score > 80) { console.log(candidate.location); var attribute = { address: candidate.address, score : candidate.score, locatorName : candidate.attributes.Loc_name } ; geom = candidat.location ; var graphic = new Graphic(geom, symbol, attributes, null); map.graphics.add(graphic); return false ; } } ); if (geom !== undefined) { map.centerAndZoom(geom, 12); } }

vous fournissez une URL invalide à votre service de localisation dans votre code.

"https://www.cartotronics.com/ArcGIS93/services/UTC_Viewers/Louisville_AlphaNumeric_Ranges/GeocodeServer" //devrait être "https://www.cartotronics.com/ArcGIS93/rest/services/UTC_Viewers/Louisville_AlphaNumeric_Ranges/GeocodeServer"

en passant, il aurait été beaucoup moins pénible de vous aider à déboguer l'erreur liée à votre localisateur si vous aviez fourni plus qu'un mystérieux nom de variable dans votre extrait de code ou un lien vers une application sans code qui avait déjà été minifié.