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 相关文章推荐
基于jquery的动态创建表格的插件
Apr 05 Javascript
原生的html元素选择器类似jquery选择器
Oct 15 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
基于JS代码实现导航条弹出式悬浮菜单
Jun 17 Javascript
DWR3 访问WEB元素的两种方法实例详解
Jan 03 Javascript
Vue.js常用指令之循环使用v-for指令教程
Jun 27 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
Dec 20 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 Javascript
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
详解JavaScript中的this指向问题
Feb 05 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
php面向对象的方法重载两种版本比较
2008/09/08 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
python设置检查点简单实现代码
2014/07/01 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Django中的用户身份验证示例详解
2019/08/07 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
python程序如何进行保存
2020/07/03 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
党风廉政建设责任书
2014/04/14 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
烈士陵园观后感
2015/06/08 职场文书
名人传读书笔记
2015/06/26 职场文书