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 相关文章推荐
js类后台管理菜单类-MenuSwitch
Sep 12 Javascript
JavaScript CSS修改学习第三章 修改样式表
Feb 19 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
May 15 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
值得分享和收藏的Bootstrap学习教程
May 12 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
JavaScript this绑定过程深入详解
Dec 07 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
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
解析PHP 5.5 新特性
2013/07/02 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
深入理解Javascript里的依赖注入
2014/03/19 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
vue 数据操作相关总结
2020/12/17 Vue.js
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
python发送HTTP请求的方法小结
2015/07/08 Python
python编码最佳实践之总结
2016/02/14 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
Delphi软件工程师试题
2013/01/29 面试题
房产销售经理职责
2013/12/20 职场文书
班主任评语大全
2014/04/26 职场文书
学期评语大全
2014/04/30 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
故意杀人案辩护词
2015/05/21 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android