evt.addresses.length > 1, but I can't figure out how to test if there are no results, that is,
evt.addresses.length === 0.
Solved! Go to Solution.
geocoder.on("find-results", showAlert); // If no address found function showAlert(evt) { if (evt.results.results.length > 0){ console.log("Match Found"); } else { alert("No address has been found."); } }; geocoder.on("find-results", showAlert); // If no address found function showAlert(evt) { if (evt.results.results.length > 0){ console.log("Match Found"); } else { alert("No address has been found."); } };dojo.io.script.jsonp_dojoIoScript10._jsonpCallback({"results":[]});
function main() {
var map, locator, arcLocator;
require(["esri/map", "esri/tasks/locator", "esri/graphic", "esri/InfoTemplate", "esri/symbols/SimpleMarkerSymbol", "esri/symbols/Font", "esri/symbols/TextSymbol", "dojo/_base/array", "esri/Color", "dojo/number", "dojo/parser", "dojo/dom", "dijit/registry", "dijit/form/Button", "dijit/form/Textarea", "dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dojo/domReady!"], function(Map, Locator, Graphic, InfoTemplate, SimpleMarkerSymbol, Font, TextSymbol, arrayUtils, Color, number, parser, dom, registry) {
parser.parse();
map = new Map("map", {
basemap : "streets",
center : [-104.983492, 39.738346],
zoom : 13
});
locator = new Locator("http://arcgisdev01:6080/arcgis/rest/services/Locators/DPS_Geocoder_Dev/GeocodeServer");
locator.on("address-to-locations-complete", showResults);
arcLocator = new Locator("http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer");
arcLocator.on("address-to-locations-complete", showArcResults);
// listen for button click then geocode
registry.byId("locate").on("click", locate);
map.infoWindow.resize(200, 125);
function locate() {
map.graphics.clear();
var address = {
"SingleKey" : dom.byId("address").value
};
locator.outSpatialReference = new esri.SpatialReference({
wkid : 4326
});
var options = {
address : address,
outFields : ["Match_addr"],
//autoComplete : true,
};
locator.addressToLocations(options);
}
function arcLocate(city) {
//alert("new city is: " + city);
var entryCity = city;
var entryAddress = dom.byId("address").value;
var arcAddress = entryAddress + ", " + city + ", CO";
var arcEntryAddress = {
"SingleKey" : arcAddress
};
arcLocator.outSpatialReference = new esri.SpatialReference({
wkid : 4326
});
var options = {
address : arcEntryAddress,
outFields : ["*"]
};
arcLocator.addressToLocations(options);
}
function showResults(evt) {
var candidate;
var symbol = new SimpleMarkerSymbol();
var infoTemplate = new InfoTemplate("Location", "Address: ${address}<br />Score: ${score}<br />Source locator: ${locatorName}");
symbol.setStyle(SimpleMarkerSymbol.STYLE_CIRCLE);
symbol.setColor(new Color([5, 151, 255, 0.75]));
var geom;
arrayUtils.every(evt.addresses, function(candidate) {
console.log(candidate.score);
if (evt.addresses.length >= 1) {
alert('there were results');
}
else {
alert('there were no results');
}
/*
else if (candidate.score > 96) {
console.log(candidate.location);
var attributes = {
address : candidate.address,
score : candidate.score,
locatorName : candidate.attributes.Loc_name
};
geom = candidate.location;
//shrink the map window
//mapDiv = document.getElementById('map');
//mapDiv.style.height = "200px";
//end shrink map window
//add a graphic to the map at the geocoded location
var graphic = new Graphic(geom, symbol, attributes, infoTemplate);
map.graphics.add(graphic);
//add a text symbol to the map listing the location of the matched address.
var displayText = "You Live: " + candidate.address;
var font = new Font("12pt", Font.STYLE_NORMAL, Font.VARIANT_NORMAL, Font.WEIGHT_BOLD, "Helvetica");
var textSymbol = new TextSymbol(displayText, font, new Color("#0597FF"));
textSymbol.setOffset(0, 15);
map.graphics.add(new Graphic(geom, textSymbol));
fillDetails(candidate.address);
//get boundary query
//queryBounds(geom);
//alert('results: ' + evt.addresses.length);
return false;
//break out of loop after one candidate with score greater than 80 is found.
} else {
var entryCity = dom.byId("city").value;
alert('score < 96 going to use 2nd geocoder with : ' + entryCity);
arcLocate(entryCity);
}*/
});
if (geom !== undefined) {
map.centerAndZoom(geom, 16);
}
}
function showArcResults(evt) {
alert(AddressCandidate.length);
}
function fillDetails(candAddr) {
//alert("candAddr: " + candAddr);
var addr;
addr = document.getElementById("userAddress");
document.getElementById("boundaryInfo").style.visibility = "visible";
addr.innerHTML = candAddr;
var year;
year = document.getElementById("schoolYear");
//get text rather than value for display purposes
userYear.innerHTML = year.options[year.selectedIndex].text;
var grade;
grade = document.getElementById("schoolGrade");
//get text rather than value for display purposes
//value would feed into query
userGrade.innerHTML = grade.options[grade.selectedIndex].text;
}
function queryBounds(geom) {
//report geometry X,Y of the locator result
//alert(geom.x);
//alert(geom.y);
var grade;
grade = document.getElementById("schoolGrade");
var entryGrade;
entryGrade = grade.options[grade.selectedIndex].value;
var year;
year = document.getElementById("schoolYear");
var entryYear;
entryYear = year.options[year.selectedIndex].value;
//alert("Grade: " + entryGrade + "Year layer: " + entryYear);
}
});
}
Matt, I don't know why this error pops-up, sorry 😞
I hope somebody else can help you.