SOSO地图API使用(一)在地图上画圆实现思路与代码


Posted in Javascript onJanuary 15, 2013

前言:最近在做SOSO地图相关开发,遇到相关画圆知识,特此简单记录下来。
1.在页面中添加SOSO地图API引用,引用脚本

<script charset="utf-8" src="http://api.map.soso.com/v1.0/main.js"></script>;

2.新建一个地图DIV容器,如下
<div style="width:603px;height:300px" id="container"></div>

3.初始化地图
 var center=new soso.maps.LatLng(22.540551,113.934593);
 var map=new soso.maps.Map(document.getElementById("container"),{
     center:center,
     zoomLevel:14
 });

4.创建一个圆形对象
 var circle=new soso.maps.Circle({
        map:map,
        center:center,
        radius:1000,
        fillColor:"#00f",
        fillOpacity:0.3,
        strokeWeight:2
    });

5.为了美观,再给圆形设置一个中心点,代码如下
 var marker = new soso.maps.Marker({
     position: center,
     map: map
 });
 var anchor = new soso.maps.Point(0, 0),
     size = new soso.maps.Size(27, 35),
     icon = new soso.maps.MarkerImage('http://s.map.soso.com/themes/default/img/centermarker.png'
         , size//指定使用图片部分的大小
         , anchor//用来指定图标的锚点,默认为图标中心的位置,可以指定图标的位置,默认是和图片的左上角对齐的。
         , new soso.maps.Point(0, 0)//指定使用图片的哪一部分,相对图片左上角的像素坐标
         , new soso.maps.Size(27, 35)//指定图片的原始大小
         , new soso.maps.Size(-12, -30));//向左偏12px,向上偏30px
 marker.setIcon(icon);
 var decor = new soso.maps.MarkerDecoration({
     content: '',
     margin: new soso.maps.Size(0, -4),
     align: soso.maps.ALIGN.CENTER,
     marker: marker
 });

6.完成上面的编码后,得到一个如下图样子的圆形
SOSO地图API使用(一)在地图上画圆实现思路与代码7.具体代码如下
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>SOSOMap</title>
 <style type="text/css">
 *{
     margin:0px;
     padding:0px;
 }
 body, button, input, select, textarea {
     font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
 }
 #info{
     width:603px;
     padding-top:3px;
     overflow:hidden;
 }
 .btn{
     width:190px;
 }
 </style>
 <script charset="utf-8" src="http://api.map.soso.com/v1.0/main.js"></script>
 <script type="text/javascript">
 function init(){
     var center=new soso.maps.LatLng(22.540551,113.934593);
     var map=new soso.maps.Map(document.getElementById("container"),{
         center:center,
         zoomLevel:14
     });
     var circle=new soso.maps.Circle({
         map:map,
         center:center,
         radius:1000,
         fillColor:"#00f",
         fillOpacity:0.3,
         strokeWeight:2
     });
     var marker = new soso.maps.Marker({
         position: center,
         map: map
     });
     var anchor = new soso.maps.Point(0, 0),
         size = new soso.maps.Size(27, 35),
         icon = new soso.maps.MarkerImage('http://s.map.soso.com/themes/default/img/centermarker.png'
             , size//指定使用图片部分的大小
             , anchor//用来指定图标的锚点,默认为图标中心的位置
             , new soso.maps.Point(0, 0)//指定使用图片的哪一部分,相对图片左上角的像素坐标
             , new soso.maps.Size(27, 35)//指定图片的原始大小
             , new soso.maps.Size(-12, -30));//向左偏12px,向上偏30px
     marker.setIcon(icon);
     var decor = new soso.maps.MarkerDecoration({
         content: '',
         margin: new soso.maps.Size(0, -4),
         align: soso.maps.ALIGN.CENTER,
         marker: marker
     });
      var path1=[
         center
     ];
      var polyline = new soso.maps.Polyline({
         path: path1,
         strokeColor: '#000000',
         strokeWeight: 5,   
         strokeOpacity: 1,
         editable:false,
         map: map
     });
     /*
     soso.maps.Event.addListener(map,'zoomlevel_changed',function() {
         circle.setMap(null);console.log(map);
         circle.setMap(map);
     });
     */
 }
 window.onload=init;
</script>
 </head>
 <body onload="init()">
 <div style="width:603px;height:300px" id="container"></div>
 </body>
 </html>
Javascript 相关文章推荐
javascript 设置某DIV区域内的checkbox复选框
Nov 30 Javascript
js弹出窗口之弹出层的小例子
Jun 17 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
利用js(jquery)操作Cookie的方法说明
Dec 19 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
js实现旋转木马效果
Mar 17 Javascript
webpack优化的深入理解
Dec 10 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
Sep 10 Javascript
JavaScript enum枚举类型定义及使用方法
May 15 Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 #Javascript
javascript真的不难-回顾一下基础知识
Jan 15 #Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 #Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 #Javascript
使用Post提交时须将空格转换成加号的解释
Jan 14 #Javascript
javascript函数以及基础写法100多条实用整理
Jan 13 #Javascript
window.requestAnimationFrame是什么意思,怎么用
Jan 13 #Javascript
You might like
根德YB400的电路分析
2021/03/02 无线电
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
php 执行系统命令的方法
2009/07/07 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
PHP XML数据解析代码
2010/05/26 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
js中replace的用法总结
2013/12/27 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
Python微信操控itchat的方法
2019/05/31 Python
Python实现时间序列可视化的方法
2019/08/06 Python
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
公司员工的自我评价范例
2013/11/01 职场文书
实习自我评价怎么写
2013/12/02 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
2014年教研组工作总结
2014/11/26 职场文书
优秀团员事迹材料
2014/12/25 职场文书
小学安全教育主题班会
2015/08/12 职场文书
作文之亲情600字
2019/09/23 职场文书