📄 demo6_geocode.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>JavaScript Seminar</title>
<script type="text/javascript">djConfig = { parseOnLoad:true }</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.1"></script>
<style type="text/css">
@import "http://serverapi.arcgisonline.com/jsapi/arcgis/1.1/js/dojo/dijit/themes/tundra/tundra.css";
</style>
<script type="text/javascript">
//This demo application is intended for education purposes only and associated with the
//ESRI JavaScript API 1/2 day seminars presented in the fall of 2008.
//Register for seminars at:
// http://www.esri.com/events/seminars/arcgis93_server/index.html
//All the services used in the following demonstrations rely on ESRI sample servers.
//The services running on the sample servers may change in the future;
//thus, you should not rely on the services in your own applications.
//The sample server services are being utilized in this seminar for demonstration purposes only.
//As the demonstrations rely on the sample servers, the content of these demos will only be valid as long as the services on the sample servers continue to run.
dojo.require("esri.map");
dojo.require("dijit.TitlePane"); //For floating panel
var map; //represents esri.map
var imagery; //arcgisonline imagery
var streetMap; //arcgisonline streetmap data
var portlandService; //Portland Data from sample server
function init() {
var startExtent = new esri.geometry.Extent({ xmin: -123.6, ymin: 44.873, xmax: -121.645, ymax: 45.793, spatialReference: new esri.SpatialReference({wkid: 4326})});
map = new esri.Map("map", { extent:startExtent } );
imagery = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer");
map.addLayer(imagery);
streetMap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer", {id:"streetMap"});
map.addLayer(streetMap);
streetMap.hide();
portlandService = new esri.layers.ArcGISTiledMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/Portland_ESRI_LandBase_AGO/MapServer", {id:"portlandService"});
portlandService.setOpacity(0.75);
map.addLayer(portlandService);
//Set up Locator to find addresses
locator = new esri.tasks.Locator("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer");
dojo.connect(locator, "onAddressToLocationsComplete", showResults);
infoTemplate = new esri.InfoTemplate("Location", "Address: ${address}<br />Score: ${score}<br />Source locator: ${locatorName}");
}
function TurnOffStreetMap() {
streetMap.hide();
imagery.show();
}
function TurnOffImagery() {
imagery.hide();
streetMap.show();
}
function locate() {
var add = dojo.byId("address").value.split(",");
var address = {
Address : add[0],
City: add[1],
State: add[2],
Zip: add[3]
};
locator.addressToLocations(address,["Loc_name"]);
}
function showResults(candidates) {
var candidate;
var symbol = new esri.symbol.SimpleMarkerSymbol();
symbol.setStyle(esri.symbol.SimpleMarkerSymbol.STYLE_DIAMOND);
symbol.setColor(new dojo.Color([255,0,0,0.75]));
for (var i=0, il=candidates.length; i<il; i++) {
candidate = candidates[i];
if (candidate.score > 80) {
var attributes = { address: candidate.address, score:candidate.score, locatorName:candidate.attributes.Loc_name };
//Locator is a composite address locator = will get back results for city center/zip code center, etc.
//Make sure to only return the address found at a street address
if (candidate.attributes.Loc_name == "Street_Address") {
var graphic = new esri.Graphic(candidate.location, symbol, attributes, infoTemplate);
map.graphics.add(graphic);
}
}
}
}
dojo.addOnLoad(init);
</script>
</head>
<body class="tundra">
<table>
<tbody>
<tr>
<td>
<div style="position:relative;">
<div id="map" style="width:1100px; height:600px; border:1px solid #000;">
</div>
<div style="position:absolute; right:25px; top:10px; z-Index:999;">
<button dojoType="dijit.form.Button" onClick="TurnOffStreetMap();">Imagery</button>
<button dojoType="dijit.form.Button" onClick="TurnOffImagery();">Street Map</button>
<div dojoType="dijit.TitlePane" title="Find Address" open="false" style="width:350px">
Address : <input type="text" id="address" size="50" value="7000 NE Airport Way, Portland, OR, 97218" /> <br/>
<i>(Address, City, State, Zip)</i>
<input type="button" value="Locate" onclick="locate()" /><br />
</div>
</div>
</div>
</td>
<td valign="top">
</td>
</tr>
</tbody>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -