WebWorldWind/examples/GeographicText.js
Patrick Hogan 6ebc542db8 Updated.
2017-11-20 14:06:30 -08:00

980 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright 2015-2017 WorldWind Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Illustrates how to display text at geographic positions.
*/
requirejs(['./WorldWindShim',
'./LayerManager'],
function (WorldWind,
LayerManager) {
"use strict";
// Tell WorldWind to log only warnings.
WorldWind.Logger.setLoggingLevel(WorldWind.Logger.LEVEL_WARNING);
// Create the WorldWindow.
var wwd = new WorldWind.WorldWindow("canvasOne");
/**
* Added imagery layers.
*/
var layers = [
{layer: new WorldWind.BMNGLayer(), enabled: true},
{layer: new WorldWind.BMNGLandsatLayer(), enabled: false},
{layer: new WorldWind.BingAerialWithLabelsLayer(null), enabled: true},
{layer: new WorldWind.CompassLayer(), enabled: true},
{layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true},
{layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}
];
for (var l = 0; l < layers.length; l++) {
layers[l].layer.enabled = layers[l].enabled;
wwd.addLayer(layers[l].layer);
}
// A list of prominent peaks in the U.S.
// This list was mined from https://en.wikipedia.org/wiki/List_of_Ultras_of_the_United_States
var peaks =
[
{
'name': "Mount McKinley\n(Denali)", // Mount McKinley
'state': "Alaska",
'elevation': 6194,
'latitude': 63.0690,
'longitude': -151.0063
},
{
'name': "Mauna\nKea",
'state': "Hawaii",
'elevation': 4205,
'latitude': 19.8207,
'longitude': -155.4680
},
{
'name': "Mount\nRainier",
'state': "Washington",
'elevation': 4394,
'latitude': 46.8529,
'longitude': -121.7604
},
{
'name': "Mount Fairweather (Fairweather Mountain)",
'state': "Alaska",
'elevation': 4663,
'latitude': 58.9064,
'longitude': -137.5267
},
{
'name': "Mount Blackburn",
'state': "Alaska",
'elevation': 4996,
'latitude': 61.7305,
'longitude': -143.4031
},
{
'name': "Mount Hayes",
'state': "Alaska",
'elevation': 4216,
'latitude': 63.6203,
'longitude': -146.7178
},
{
'name': "Mount Saint Elias",
'state': "Alaska",
'elevation': 5489,
'latitude': 60.2931,
'longitude': -140.9264
},
{
'name': "Mount Marcus Baker",
'state': "Alaska",
'elevation': 4016,
'latitude': 61.4374,
'longitude': -147.7525
},
{
'name': "Mount\nWhitney",
'state': "California",
'elevation': 4421,
'latitude': 36.5786,
'longitude': -118.2920
},
{
'name': "Haleakalā",
'state': "Hawaii",
'elevation': 3055,
'latitude': 20.7097,
'longitude': -156.2533
},
{
'name': "Mount Shasta",
'state': "California",
'elevation': 4322,
'latitude': 41.4092,
'longitude': -122.1949
},
{
'name': "Shishaldin Volcano",
'state': "Alaska",
'elevation': 2869,
'latitude': 54.7554,
'longitude': -163.9709
},
{
'name': "Redoubt Volcano",
'state': "Alaska",
'elevation': 3108,
'latitude': 60.4854,
'longitude': -152.7442
},
{
'name': "Mount Elbert",
'state': "Colorado",
'elevation': 4401,
'latitude': 39.1178,
'longitude': -106.4454
},
{
'name': "Mount Baker",
'state': "Washington",
'elevation': 3287,
'latitude': 48.7768,
'longitude': -121.8145
},
{
'name': "Mount Torbert",
'state': "Alaska",
'elevation': 3479,
'latitude': 61.4086,
'longitude': -152.4125
},
{
'name': "San Jacinto Peak",
'state': "California",
'elevation': 3302,
'latitude': 33.8147,
'longitude': -116.6794
},
{
'name': "San Gorgonio Mountain",
'state': "California",
'elevation': 3506,
'latitude': 34.0992,
'longitude': -116.8249
},
{
'name': "Charleston Peak", // Mount Charleston
'state': "Nevada",
'elevation': 3632,
'latitude': 36.2716,
'longitude': -115.6956
},
{
'name': "Pavlof Volcano",
'state': "Alaska",
'elevation': 2515,
'latitude': 55.4173,
'longitude': -161.8932
},
{
'name': "Mount Veniaminof",
'state': "Alaska",
'elevation': 2507,
'latitude': 56.2194,
'longitude': -159.2975
},
{
'name': "Mount Adams",
'state': "Washington",
'elevation': 3743,
'latitude': 46.2024,
'longitude': -121.4909
},
{
'name': "Mount Hubbard",
'state': "Alaska",
'elevation': 4577,
'latitude': 60.3192,
'longitude': -139.0714
},
{
'name': "Mount Chamberlin",
'state': "Alaska",
'elevation': 2749,
'latitude': 69.2775,
'longitude': -144.9107
},
{
'name': "Iliamna Volcano",
'state': "Alaska",
'elevation': 3053,
'latitude': 60.0321,
'longitude': -153.0915
},
{
'name': "Mount Olympus",
'state': "Washington",
'elevation': 2432,
'latitude': 47.8013,
'longitude': -123.7108
},
{
'name': "Mount Cook",
'state': "Alaska",
'elevation': 4194,
'latitude': 60.1819,
'longitude': -139.9808
},
{
'name': "Mount\nHood",
'state': "Oregon",
'elevation': 3429,
'latitude': 45.3735,
'longitude': -121.6959
},
{
'name': "Mount Sanford",
'state': "Alaska",
'elevation': 4949,
'latitude': 62.2132,
'longitude': -144.1292
},
{
'name': "Mount Tom White",
'state': "Alaska",
'elevation': 3411,
'latitude': 60.6518,
'longitude': -143.6972
},
{
'name': "Wheeler Peak",
'state': "Nevada",
'elevation': 3982,
'latitude': 38.9858,
'longitude': -114.3139
},
{
'name': "Glacier Peak",
'state': "Washington",
'elevation': 3214,
'latitude': 48.1125,
'longitude': -121.1138
},
{
'name': "Mount Kimball",
'state': "Alaska",
'elevation': 3155,
'latitude': 63.2390,
'longitude': -144.6419
},
{
'name': "Mount Griggs",
'state': "Alaska",
'elevation': 2332,
'latitude': 58.3534,
'longitude': -155.0958
},
{
'name': "Mount Foraker",
'state': "Alaska",
'elevation': 5304,
'latitude': 62.9604,
'longitude': -151.3998
},
{
'name': "White Mountain Peak",
'state': "California",
'elevation': 4344,
'latitude': 37.6341,
'longitude': -118.2557
},
{
'name': "Mount Crillon",
'state': "Alaska",
'elevation': 3879,
'latitude': 58.6625,
'longitude': -137.1712
},
{
'name': "Mauna Loa",
'state': "Hawaii",
'elevation': 4169,
'latitude': 19.4756,
'longitude': -155.6054
},
{
'name': "Cloud Peak",
'state': "Wyoming",
'elevation': 4013,
'latitude': 44.3821,
'longitude': -107.1739
},
{
'name': "Gannett Peak",
'state': "Wyoming",
'elevation': 4209,
'latitude': 43.1842,
'longitude': -109.6542
},
{
'name': "Mount Vsevidof",
'state': "Alaska",
'elevation': 2149,
'latitude': 53.1256,
'longitude': -168.6938
},
{
'name': "Mount Hesperus",
'state': "Alaska",
'elevation': 2996,
'latitude': 61.8036,
'longitude': -154.1469
},
{
'name': "Mount Bona",
'state': "Alaska",
'elevation': 5044,
'latitude': 61.3856,
'longitude': -141.7495
},
{
'name': "Mount Drum",
'state': "Alaska",
'elevation': 3661,
'latitude': 62.1159,
'longitude': -144.6394
},
{
'name': "Mount Chiginagak",
'state': "Alaska",
'elevation': 2111,
'latitude': 57.1334,
'longitude': -156.9912
},
{
'name': "Grand Teton",
'state': "Wyoming",
'elevation': 4199,
'latitude': 43.7412,
'longitude': -110.8024
},
{
'name': "Sacajawea Peak",
'state': "Oregon",
'elevation': 3000,
'latitude': 45.2450,
'longitude': -117.2929
},
{
'name': "Mount Neacola",
'state': "Alaska",
'elevation': 2873,
'latitude': 60.7981,
'longitude': -153.3959
},
{
'name': "Kings Peak",
'state': "Utah",
'elevation': 4125,
'latitude': 40.7763,
'longitude': -110.3729
},
{
'name': "Mount Graham",
'state': "Arizona",
'elevation': 3269,
'latitude': 32.7017,
'longitude': -109.8714
},
{
'name': "Mount Douglas",
'state': "Alaska",
'elevation': 2149,
'latitude': 58.8598,
'longitude': -153.5353
},
{
'name': "Mount San Antonio",
'state': "California",
'elevation': 3069,
'latitude': 34.2891,
'longitude': -117.6463
},
{
'name': "Kichatna Spire",
'state': "Alaska",
'elevation': 2739,
'latitude': 62.4231,
'longitude': -152.7231
},
{
'name': "De Long Peak",
'state': "Alaska",
'elevation': 2464,
'latitude': 60.8299,
'longitude': -145.1335
},
{
'name': "Telescope Peak",
'state': "California",
'elevation': 3366,
'latitude': 36.1698,
'longitude': -117.0892
},
{
'name': "Mount Peale",
'state': "Utah",
'elevation': 3879,
'latitude': 38.4385,
'longitude': -109.2292
},
{
'name': "Pogromni Volcano",
'state': "Alaska",
'elevation': 1991,
'latitude': 54.5705,
'longitude': -164.6926
},
{
'name': "Peak 8010",
'state': "Alaska",
'elevation': 2441,
'latitude': 61.1605,
'longitude': -144.8129
},
{
'name': "Mount Washington",
'state': "New Hampshire",
'elevation': 1917,
'latitude': 44.2705,
'longitude': -71.3032
},
{
'name': "Mount Igikpak",
'state': "Alaska",
'elevation': 2523,
'latitude': 67.4129,
'longitude': -154.9656
},
{
'name': "Snow Tower",
'state': "Alaska",
'elevation': 2003,
'latitude': 58.1724,
'longitude': -133.4009
},
{
'name': "Mount Mitchell",
'state': "North Carolina",
'elevation': 2037,
'latitude': 35.7650,
'longitude': -82.2652
},
{
'name': "Truuli Peak",
'state': "Alaska",
'elevation': 2015,
'latitude': 59.9129,
'longitude': -150.4348
},
{
'name': "Humphreys Peak",
'state': "Arizona",
'elevation': 3852,
'latitude': 35.3464,
'longitude': -111.6780
},
{
'name': "Borah Peak",
'state': "Idaho",
'elevation': 3861,
'latitude': 44.1374,
'longitude': -113.7811
},
{
'name': "Mount Natazhat",
'state': "Alaska",
'elevation': 4095,
'latitude': 61.5217,
'longitude': -141.1030
},
{
'name': "Hanagita Peak",
'state': "Alaska",
'elevation': 2592,
'latitude': 61.0670,
'longitude': -143.7075
},
{
'name': "Tanaga Volcano",
'state': "Alaska",
'elevation': 1806,
'latitude': 51.8839,
'longitude': -178.1414
},
{
'name': "Makushin Volcano",
'state': "Alaska",
'elevation': 1800,
'latitude': 53.8782,
'longitude': -166.9299
},
{
'name': "Sovereign Mountain",
'state': "Alaska",
'elevation': 2697,
'latitude': 62.1311,
'longitude': -148.6044
},
{
'name': "Mount Jefferson",
'state': "Nevada",
'elevation': 3641,
'latitude': 38.7519,
'longitude': -116.9267
},
{
'name': "Mount Ellen",
'state': "Utah",
'elevation': 3513,
'latitude': 38.1089,
'longitude': -110.8136
},
{
'name': "Isanotski Peaks",
'state': "Alaska",
'elevation': 2471,
'latitude': 54.7680,
'longitude': -163.7291
},
{
'name': "Deseret Peak",
'state': "Utah",
'elevation': 3364,
'latitude': 40.4595,
'longitude': -112.6263
},
{
'name': "Mount Jefferson",
'state': "Oregon",
'elevation': 3201,
'latitude': 44.6743,
'longitude': -121.7996
},
{
'name': "Isthmus Peak",
'state': "Alaska",
'elevation': 1991,
'latitude': 60.5772,
'longitude': -148.8915
},
{
'name': "Frosty Peak",
'state': "Alaska",
'elevation': 1769,
'latitude': 55.0672,
'longitude': -162.8351
},
{
'name': "Pilot Peak",
'state': "Nevada",
'elevation': 3268,
'latitude': 41.0211,
'longitude': -114.0774
},
{
'name': "Crazy Peak",
'state': "Montana",
'elevation': 3418,
'latitude': 46.0183,
'longitude': -110.2766
},
{
'name': "Great Sitkin Volcano",
'state': "Alaska",
'elevation': 1740,
'latitude': 52.0765,
'longitude': -176.1109
},
{
'name': "Puʻu Kukui",
'state': "Hawaii",
'elevation': 1764,
'latitude': 20.8904,
'longitude': -156.5863
},
{
'name': "Mount Cleveland",
'state': "Alaska",
'elevation': 1730,
'latitude': 52.8230,
'longitude': -169.9465
},
{
'name': "McDonald Peak",
'state': "Montana",
'elevation': 2994,
'latitude': 47.3826,
'longitude': -113.9191
},
{
'name': "Mount Wrangell",
'state': "Alaska",
'elevation': 4317,
'latitude': 62.0059,
'longitude': -144.0187
},
{
'name': "South Sister",
'state': "Oregon",
'elevation': 3159,
'latitude': 44.1035,
'longitude': -121.7693
},
{
'name': "Devils Paw",
'state': "Alaska",
'elevation': 2593,
'latitude': 58.7289,
'longitude': -133.8403
},
{
'name': "Mount Seattle",
'state': "Alaska",
'elevation': 3155,
'latitude': 60.0680,
'longitude': -139.1893
},
{
'name': "Sierra Blanca Peak",
'state': "New Mexico",
'elevation': 3652,
'latitude': 33.3743,
'longitude': -105.8087
},
{
'name': "Pikes Peak",
'state': "Colorado",
'elevation': 4302,
'latitude': 38.8405,
'longitude': -105.0442
},
{
'name': "Mount Russell",
'state': "Alaska",
'elevation': 3557,
'latitude': 62.7984,
'longitude': -151.8845
},
{
'name': "Mount Nebo",
'state': "Utah",
'elevation': 3637,
'latitude': 39.8219,
'longitude': -111.7603
},
{
'name': "Snowshoe Peak",
'state': "Montana",
'elevation': 2665,
'latitude': 48.2231,
'longitude': -115.6890
},
{
'name': "North Schell Peak",
'state': "Nevada",
'elevation': 3626,
'latitude': 39.4132,
'longitude': -114.5997
},
{
'name': "Hayford Peak",
'state': "Nevada",
'elevation': 3025,
'latitude': 36.6577,
'longitude': -115.2008
},
{
'name': "Mount Foresta",
'state': "Alaska",
'elevation': 3368,
'latitude': 60.1912,
'longitude': -139.4323
},
{
'name': "Star Peak",
'state': "Nevada",
'elevation': 2999,
'latitude': 40.5224,
'longitude': -118.1708
},
{
'name': "Veniaminof Peak",
'state': "Alaska",
'elevation': 1643,
'latitude': 57.0151,
'longitude': -134.9882
},
{
'name': "Diamond Peak",
'state': "Idaho",
'elevation': 3719,
'latitude': 44.1414,
'longitude': -113.0827
},
{
'name': "Flat Top Mountain",
'state': "Utah",
'elevation': 3238,
'latitude': 40.3724,
'longitude': -112.1888
},
{
'name': "Bearhole Peak",
'state': "Alaska",
'elevation': 2596,
'latitude': 60.9283,
'longitude': -142.5237
},
{
'name': "Mount Steller",
'state': "Alaska",
'elevation': 3205,
'latitude': 60.5199,
'longitude': -143.0932
},
{
'name': "Mount Stuart",
'state': "Washington",
'elevation': 2871,
'latitude': 47.4751,
'longitude': -120.9024
},
{
'name': "Blanca Peak",
'state': "Colorado",
'elevation': 4376,
'latitude': 37.5775,
'longitude': -105.4856
},
{
'name': "Mount Miller",
'state': "Alaska",
'elevation': 3277,
'latitude': 60.4605,
'longitude': -142.3012
},
{
'name': "Carlisle Volcano",
'state': "Alaska",
'elevation': 1610,
'latitude': 52.8913,
'longitude': -170.0580
},
{
'name': "Mount Timpanogos",
'state': "Utah",
'elevation': 3582,
'latitude': 40.3908,
'longitude': -111.6459
},
{
'name': "Bashful Peak",
'state': "Alaska",
'elevation': 2440,
'latitude': 61.3076,
'longitude': -148.8697
},
{
'name': "Ibapah Peak",
'state': "Utah",
'elevation': 3686,
'latitude': 39.8282,
'longitude': -113.9200
},
{
'name': "Mount Cleveland",
'state': "Montana",
'elevation': 3194,
'latitude': 48.9249,
'longitude': -113.8482
},
{
'name': "Kawaikini",
'state': "Hawaii",
'elevation': 1598,
'latitude': 22.0586,
'longitude': -159.4973
},
{
'name': "He Devil",
'state': "Idaho",
'elevation': 2873,
'latitude': 45.3241,
'longitude': -116.5484
},
{
'name': "Tetlin Peak",
'state': "Alaska",
'elevation': 2550,
'latitude': 62.6215,
'longitude': -143.1084
},
{
'name': "Arc Dome",
'state': "Nevada",
'elevation': 3590,
'latitude': 38.8327,
'longitude': -117.3531
},
{
'name': "Lassen Peak",
'state': "California",
'elevation': 3189,
'latitude': 40.4882,
'longitude': -121.5050
},
{
'name': "Mount Deborah",
'state': "Alaska",
'elevation': 3761,
'latitude': 63.6377,
'longitude': -147.2384
},
{
'name': "Necous Peak",
'state': "Alaska",
'elevation': 2541,
'latitude': 61.1125,
'longitude': -153.4690
},
{
'name': "Abercrombie Mountain",
'state': "Washington",
'elevation': 2229,
'latitude': 48.9284,
'longitude': -117.4600
},
{
'name': "Mount Lemmon",
'state': "Arizona",
'elevation': 2792,
'latitude': 32.4430,
'longitude': -110.7885
},
{
'name': "Gareloi Volcano",
'state': "Alaska",
'elevation': 1573,
'latitude': 51.7880,
'longitude': -178.7940
},
{
'name': "Mount Eddy",
'state': "California",
'elevation': 2755,
'latitude': 41.3196,
'longitude': -122.4790
},
{
'name': "Chiricahua Peak",
'state': "Arizona",
'elevation': 2976,
'latitude': 31.8465,
'longitude': -109.2910
},
{
'name': "Peak 8488",
'state': "Alaska",
'elevation': 2587,
'latitude': 61.4950,
'longitude': -153.6224
},
{
'name': "Mount Augusta",
'state': "Alaska",
'elevation': 4289,
'latitude': 60.3078,
'longitude': -140.4586
},
{
'name': "Peak 6915",
'state': "Alaska",
'elevation': 2108,
'latitude': 61.3297,
'longitude': -144.9599
},
{
'name': "Mount Bear",
'state': "Alaska",
'elevation': 4520,
'latitude': 61.2834,
'longitude': -141.1433
},
{
'name': "Korovin Volcano",
'state': "Alaska",
'elevation': 1533,
'latitude': 52.3817,
'longitude': -174.1658
},
{
'name': "Miller Peak",
'state': "Arizona",
'elevation': 2886,
'latitude': 31.3928,
'longitude': -110.2930
},
{
'name': "Kamakou",
'state': "Hawaii",
'elevation': 1512,
'latitude': 21.1065,
'longitude': -156.8682
}
];
var text,
textAttributes = new WorldWind.TextAttributes(null),
textLayer = new WorldWind.RenderableLayer("U.S.A. Peaks");
// Set up the common text attributes.
textAttributes.color = WorldWind.Color.CYAN;
// Set the depth test property such that the terrain does not obscure the text.
textAttributes.depthTest = false;
// For each peak, create a text shape.
for (var i = 0, len = peaks.length; i < len; i++) {
var peak = peaks[i],
peakPosition = new WorldWind.Position(peak.latitude, peak.longitude, peak.elevation);
text = new WorldWind.GeographicText(peakPosition, peak.name + "\n" + peak.state);
// Set the text attributes for this shape.
text.attributes = textAttributes;
// Add the text to the layer.
textLayer.addRenderable(text);
}
// Add the text layer to the WorldWindow's layer list.
wwd.addLayer(textLayer);
// Create a layer manager for controlling layer visibility.
var layerManger = new LayerManager(wwd);
});