·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C# sogou地图API应用总结

C# sogou地图API应用总结

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

C# sogou地图API应用总结

地图的初始化1、添加引用地图的API文件: <script src="http://api.go2map.com/maps/js/api_v2.5.1.js" type="text/javascript"></script>2、网站初始化加载事件: window.onload = function () { var map = new sogou.maps.Map(document.getElementById("map_canvas"), {}); } 创建一个id为map_canvas的div,自定义div样式,网站运行时地图自动加载;

具体代码如下

<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <style type="text/CSS">html {height: auto;}body {height: auto;margin: 0;padding: 0;}#map_canvas {width:1000px;height: 500px;position: absolute;}@media PRint {#map_canvas {height: 950px;}}</style>    <script src="http://api.go2map.com/maps/js/api_v2.5.1.js" type="text/Javascript"></script>    <script>        window.onload = function () {            var map = new sogou.maps.Map(document.getElementById("map_canvas"), {});        }     </script></head><body>    <form id="form1" runat="server">    <div id="map_canvas"></div>    </form></body></html>
View Code

指定显示莫城市地图

关键代码:

 window.onload = function () {  var myOptions = { zoom: 10,center: new sogou.maps.Point(12956000, 4824875) };//城市坐标,本坐标为北京坐标 var map = new sogou.maps.Map(document.getElementById("map_canvas"), myOptions);  } 
View Code

地图属性了解

列举一下常用的一些属性比如:地图的移动、地图类型转换、跳转到指定城市

具体代码如下

<html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">    <title></title>    <style type="text/css">html {height: auto;}body {height: auto;margin: 0;padding: 0;}#map_canvas {width:1000px;height: 500px;position: absolute;}@media print {#map_canvas {height: 950px;}}</style>    <script src="http://api.go2map.com/maps/js/api_v2.5.1.js" type="text/javascript"></script>    <script>        var map;//创建全局变量               window.onload = function () {             var myOptions = { zoom: 10, center: new sogou.maps.Point(12956000, 4824875) };//指定城市            map = new sogou.maps.Map(document.getElementById("map_canvas"), myOptions);//创建地图         }              //setMapTypeId方法示例        function setMapTypeId(num) {             //设置地图类型,如:            //sogou.maps.MapTypeId.ROADMAP 普通地图            //sogou.maps.MapTypeId.SATELLITE 卫星地图            //sogou.maps.MapTypeId.HYBRID 卫星和路网混合地图            //map.setMapTypeId(sogou.maps.MapTypeId.HYBRID)            switch (num) {                case 1: map.setMapTypeId(sogou.maps.MapTypeId.ROADMAP); break; //普通地图                case 2: map.setMapTypeId(sogou.maps.MapTypeId.SATELLITE); break; //卫星地图                case 3: map.setMapTypeId(sogou.maps.MapTypeId.HYBRID); break; //卫星和路网混合地图            }        }        //panBy方法示例地图手动移动        function panBy(a, b) {            map.panBy(a, b)        }        //setOptions方法示例显示指定地区        function setOptions() {            //同时设置地图中心、级别、类型            map.setOptions({ center: new sogou.maps.Point(13522000, 3641093), zoom: 12, mapTypeId: sogou.maps.MapTypeId.ROADMAP })        }        //setCenter方法示例 显示指定的地区 a、b为地图坐标,C为地图级别        function setCenter(a, b, c) {            map.setCenter(new sogou.maps.Point(a, b), c)        }        //fitBounds方法示例 跳转到指定的范围内        function fitBounds() {            //设置一个故宫附近的范围            var bounds = new sogou.maps.Bounds(12955101, 4824738, 12958355, 4827449);            //将地图设置为可全部显示这个范围            //注:不是设置bounds为这个值,而是调整到合适的位置            map.fitBounds(bounds)        }    </script></head><body>    <form id="form1" runat="server">    <input value="普通地图" onclick="setMapTypeId(1)"  type="button"/>    <input value="卫星地图" onclick="setMapTypeId(2)" type="button"/>    <input value="卫星和路网混合地图" onclick="setMapTypeId(3)" type="button"/>    <input value="向左移动" onclick="panBy(200,0)" type="button"/>    <input value="向右移动" onclick="panBy(-200,0)" type="button"/>    <input value="向上移动" onclick="panBy(0,200)" type="button"/>    <input value="向下移动" onclick="panBy(0,-200)" type="button"/>    <input value="向左上移动" onclick="panBy(200,200)" type="button"/>     <input value="上海" onclick="setOptions()" type="button"/>    <input value="天津" onclick="setCenter(13046000,4714250,10)" type="button"/>      <input value="故宫" onclick="fitBounds()" type="button"/>    <div id="map_canvas" ></div>    </form></body></html>
View Code

地图描点属性

地图上很重要的属性,给地图添加描点,是常用的方法属性,

搜狗API提供两种描点填写形式默认描点和动态添加描点

默认描点添加:

  var location = new sogou.maps.Point(12956000, 4824875); //指定描点位置var map = new sogou.maps.Map(document.getElementById("map_canvas"), {});//初始化地图 var marker = new sogou.maps.Marker({                position: location,//描点坐标                title: "描点",//描点名称                label: { visible: true, align: "BOTTOM" },//描点显示形式                map: map,             });//添加描点到地图
View Code

动态描点添加

  window.onload = function () {         //初始化地图            map = new sogou.maps.Map(document.getElementById("map_canvas"), {});//为地图添加点击事件 sogou.maps.event.addListener(map, 'click', function (event) {                var marker1 = new sogou.maps.Marker({                position: event.point,                 map: map            });            });         }
View Code

根据两描点测距

//获取类的唯一示例        function getInstance(a) {            a.hasOwnProperty("_instance") || (a._instance = new a);            return a._instance        } //两点相连        function Lines(myLatlng, myPoint) {             var convertor = getInstance(sogou.maps.Convertor);            var distance = convertor.distance(myLatlng, myPoint);            //两点链接            var line = new sogou.maps.Polyline({                path: [myLatlng, myPoi