zoukankan      html  css  js  c++  java
  • Skyline软件二次开发初级——2如何在WEB页面中控制三维地图的观察点坐标和角度

    1.放大:

        <html>

    <head>

            <title>Zoom In</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">
            
            function Init()
            {
                SGWorld.Navigate.ZoomIn();
            }
            
            </script>
        </head>
        <body onload="Init();">
        </body>
    </html>

    2.缩小: 

        <html>

            <head>

            <title>Zoom Out</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">
            
            function Init()
            {
                SGWorld.Navigate.ZoomOut();
            }
            
            </script>
        </head>
        <body onload="Init();">
        </body>
    </html>

    3.放大到街道级别:

         <html> 
    <head>
            <title>Zoom To Street Level</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">

            function Init()
            {
                var position = SGWorld.Navigate.GetPosition();
                position.Altitude = 1000;       // Street level in TerraExplorer corresponds to altitude of 1000m
                position.AltitudeType = 0;      // 0 is relative to terrain;
                SGWorld.Navigate.FlyTo(position, 0); // 0 is fly to
            }
            
            </script>
        </head>
        <body onload="Init();">
        </body>
    </html>

    4.获取摄像机的位置:

         <html> 
    <head>
            <title>Get the current position</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">

            function Init()
            {
                var pos = SGWorld.Navigate.GetPosition();

                alert("Current Position:\n\nX: " + pos.X + "\nY: " + pos.Y + "\nHeight: " + pos.Altitude + "\nYaw: " + pos.Yaw + "\nPitch: " + pos.Pitch);
           }
            
            </script>
        </head>
        <body onload="Init();">
        </body>
    </html>

    5.设置摄像机的位置:

        <html> 
    <head>
            <title>Set the current position</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">

            function Init()
            {
                var pos = SGWorld.Creator.CreatePosition(-71.05216, // X
                                                           42.34569, // Y
                                                           1000,     // Altitude
                                                           0, //AltitudeTypeCode.ATC_TERRAIN_RELATIVE, // Altitude type
                                                           0.0,      // Yaw
                                                          -43.0);     // Pitch
                
                SGWorld.Navigate.SetPosition(pos);
            }
                         
            </script>
        </head>
        <body onload="Init();">
        </body>
    </html>

    6.跳到兴趣点:

    <html>
        <head>
            <title>Set the current position</title>
            <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility:hidden;height:0 "></object>
            <script type="text/javascript">
            var popup;

            function Init()
            {
                
                var POI = SGWorld.Creator.CreatePosition(-71.07596, // Point of interest X   
                                                          42.34998, // Point of interest Y
                                                          30,       // Point of interest altitude (30m)
                                                          0,        // Altitude type - relative to terrain
                                                          90.0,     // Direction from which we want to view the point of interest (90.0 means from we are looking east)
                                                         -10.0,     // Pitch from which we want to view the point of interest (looking 10 degree down)
                                                          0,        // Roll
                                                          250);     // The distance we want to be from the point of interest (250m)

                SGWorld.Navigate.JumpTo(POI);
                            
                showPopup();
            }


            function showPopup()
            {
                popup = SGWorld.Creator.CreatePopupMessage("Point Of Interest sample");
                popup.InnerHtml = "<b>Trinity Church Boston</b><br>Distance from camera: 250 meters<br>Looking from west to east";
                SGWorld.Window.ShowPopup(popup);
            }
            
            function onExit()
            {
                if(popup)
                    SGWorld.Window.RemovePopup(popup);
            }
            
            </script>
        </head>
        <body onload="Init();" onunload="onExit();">
        </body>
    </html>
  • 相关阅读:
    C++ Call C# COM
    C ++ / CLI 语法
    C#调用C++ DLL动态库的两种方式
    Linux下的JMeter部署及使用
    同时处理多请求(带超时时间)
    同时处理多请求
    curl命令
    mysql命令
    SpringBoot配置文件敏感信息加密-jasypt
    spring boot升级到2.x的坑
  • 原文地址:https://www.cnblogs.com/yitianhe/p/2696518.html
Copyright © 2011-2022 走看看