我是arcgis的新手。我想用3D显示一个特定角度的特定位置。这个位置是宾夕法尼亚州McKeesport的Water街和第五大道的拐角处。角度是朝东的。倾斜度是45。但这是我得到的。https:/codepen.iolschneidermanpenZEQEWXG。
我的代码如下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<title>ArcGIS JavaScript Tutorials: Create a JavaScript starter app</title>
<style>
html, body, #viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/4.15/esri/themes/light/main.css">
<script src="https://js.arcgis.com/4.15/"></script>
</head>
<body>
<div id="viewDiv"></div>
<script>
require([
"esri/Map",
"esri/views/SceneView"
], function(Map, SceneView) {
var map = new Map({
basemap: "topo-vector",
ground: "world-elevation" // show elevation
});
var view = new SceneView({
container: "viewDiv",
map: map,
heading: 90,
camera: {
position: { // observation point
latitude: '40.350500',
longitude: '-79.868870',
z: 1000 // altitude in meters
},
tilt: 45 // perspective in degrees
}
});
});
</script>
</body>
</html>
确保你设置的标题(角度)的观看方向上的。camera
对象。这将使摄像机向东看,位于交叉口上方。
var view = new SceneView({
container: "viewDiv",
map: map,
camera: {
position: {
// observation point
latitude: "40.350500",
longitude: "-79.868870",
z: 700 // altitude in meters// altitude in meters
},
heading: 90,
tilt: 45 // perspective in degrees
}
});
下面是修改后的CodePen的链接。https:/codepen.ioarnofivapen688eee67141131712a12ccc3310a6ea4?editors=1010。
如果你想让摄像机看向十字路口,你需要通过向东移动摄像机来采用这个位置,例如:。
latitude: "40.350464",
longitude: "-79.874628",
这是另一个版本的CodePen 在摄像机的视野中显示出交叉口的位置https:/codepen.ioarnofivapena2da1acb4cba398721690bf4d0b2101a?editors=0010。
与其手动设置这些值,不如使用 SceneView.goTo()
并将你想让它关注的点作为参数传递。
var view = new SceneView({
container: "viewDiv",
map: map
});
view.goTo({
target: [-79.86887, 40.3505], // coordinates of crossing
heading: 90,
tilt: 45,
zoom: 18 // instead of a z-value, we provide the zoom level
}, {
duration: 0 // tell view not to animate camera movement
});
这里是CodePen展示了如何使用... ... goTo()
: https:/codepen.ioarnofivapene91dd1b257a002a0c4d007d3724e039f?editors=1010。