google.GIS小例子
var map; var array = [[41.774166667, 85.943055556], [43.864052, 87.560499]];//经纬度
var array1 = ["地点1", "地点2"]; var latitude = 0; var longitude = 0; var markersArray = []; var title = "新疆"; var openInfo = "";
function initialize() { var i = 0;
var k = 0;
var myLatlng = new google.maps.LatLng(41.774166667, 85.943055556); //初始定位 var myOptions = {
zoom : 8, //地图的缩放程度 center : myLatlng, //地图中心位置 mapTypeId : google.maps.MapTypeId.ROADMAP, //常量ROADMAP以地图显示 常量SATELLITE为卫星显示 disableDoubleClickZoom : true //禁用双击缩放地图 }; //把地图绑定在ID为map_canvas的DIV上 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //循环将数据填充到一个新的marker对象中 for (i = 0; i < array.length; i++) { var myLatlng = new google.maps.LatLng(array[i][k], array[i][k + 1]);//重新定位 //显示信息 openInfo = array1[i];
//显示地址的标记图标 var marker = new google.maps.Marker({
position : myLatlng,
map : map,
icon : 'http://www.yiyacn.com/uploads/tubiaoimg/icon/fatcow_027.png' //自定义标记图标
});
marker.setTitle(title);
alertTitle(marker, openInfo);
}; //infowindow.open(map); //加载时显示提示主窗口 var infowindow;
var infowindow2;
//提示信息窗口 function alertTitle(marker, openInfo) { //鼠标悬浮在标记上打开提示信息窗口 google.maps.event.addListener(marker, 'mouseover', function (event) {
infowindow2 = infowindow;
infowindow = new google.maps.InfoWindow({
content : openInfo,
position : myLatlng
});
if (infowindow2 != null) {
infowindow2.close();
}
infowindow.open(map, marker); }); //鼠标离开标记关闭提示信息窗口 //google.maps.event.addListener(marker, 'mouseout', function(event) { //infowindow.close(); //}); }; //给map添加双击事件 google.maps.event.addDomListener(map, 'dblclick', function (event) { placeMarker(event.latLng);
CreateDiv(event.latLng); }); //添加新的标识 function placeMarker(location) {
if (infowindow2 != null) {
infowindow2.close();
}
if (infowindow != null) {
infowindow.close();
}
marker = new google.maps.Marker({
position : location,
map : map,
title : title,
icon : 'http://www.yiyacn.com/uploads/tubiaoimg/icon/fatcow_027.png' //自定义标记图标 });
clearOverlays();
markersArray.push(marker); //把marker对象添加到markersArray数组中 map.setCenter(location); //重新定位中心位置
} //创建操作层 function CreateDiv(location) {
var array = location.toString().split(","); //经纬度
var contentString = '<div id="content">' +
'<div id="siteNotice">' +
'</div>' +
'<h1 id="firstHeading" class="firstHeading">选择操作</h1>' +
'<div id="bodyContent">' +
'<p><b>当前的纬度' + array[0] + ',经度' + array[1] + '</b></p>' +
'</div>' +
'</div>'; var infowindow = new google.maps.InfoWindow({
content : contentString
}); infowindow.open(map, marker); } //重置Map对象 function clearOverlays() {
//alert(markersArray); if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
}
} } window.onload = initialize;
google.GIS小例子的更多相关文章
- Python-正则表达式及实战小例子
注意Python的字符串本身也用'\'转义,所以要特别注意,一般我们都建议使用Python的r前缀,就不用考虑转义的问题了 1,行的起始 例子:匹配‘cat’ 开头 patt=re.compile( ...
- 从源码编译安装PCL并运行第一个小例子
如何通过源码编译方式安装PCL 对于很多想学习PCL的同学而言,往往会被如何安装困扰很长时间.我就是这其中的一员,为了不让大家在安装问题上浪费太多时间,我决心写下这篇小小的随笔,希望对大家有所帮助. ...
- springmvc入门的第一个小例子
今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- bootstrap 模态 modal 小例子
bootstrap 模态 modal 小例子 <html> <head> <meta charset="utf-8" /> <title ...
- INI配置文件分析小例子
随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...
- JavaScript小例子:复选框全选
JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...
随机推荐
- 什么是Alpha通道?
图像处理(Alpha通道,RGB,...)祁连山(Adobe 系列教程)****的UI课程 一个也许很傻的问题,在图像处理中alpha到底是什么? Alpha通道是计算机图形学中的术语,指的是特别的 ...
- php上传文件类型
下面提供一张IE和火狐浏览器的文件类型对照表: ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 ...
- java堆栈区别
/*java程序在运行时,jvm把内存分为5块,栈,堆,方法区,本地方法区,寄存器 栈:存储的是局部变量,在函数语句中定义的变量都是局部变量 for(int i=1;i<=5;i++){} ad ...
- 5、jvm内存回收——算法
判定垃圾方法: 1.引用计数法:相互循环应用解决不了 2.根搜索算法: 垃圾搜集算法 1.标记--清除算法 2.复制算法 3.标记--整理算法 4.分代算法
- 转载css的background-position
这是一个有趣的话题 其实我并不确切的平时大家是怎么去应用或者玩转一个属性,一个值.我能肯定的是这些东西都有不少的可玩性. 我今天要聊的 background-position 应该已经被大家玩得色彩斑 ...
- 配置 vim
cd / vim /etc/vim/vimrc 1.Ubuntu vim显示行号 在文件末端添加一新行,输入 set nu 2.Ubuntu vim语法高亮 在文件中找到 "syntax o ...
- 用PowerMock mock 由工厂方法产生的对象
有些对象需要mock的对象是由工厂方法产生出来的,而工厂方法一般是静态方法,这时候就需要同时mock工厂方法及对象 被测方法: public class EmployeeServiceFactory ...
- Linux快捷键和别名
一.设置别名 1使用命令行 alias 别名='命令'(只对本次登陆生效) 2.使用配置文件设置别名(永久生效) vi /root/.bashrc 打开系统别名配置文件,一般是用 ...
- ibatis入门教程
转载自 http://www.cnblogs.com/ycxyyzw/archive/2012/10/13/2722567.html iBatis 简介: iBatis 是apache 的一个开源项 ...
- 作业七:团队项目——Alpha版本冲刺阶段009
今日安排:组内成员讨论 今日进度:组内成员讨论分工细节以及可能遇到的问题,并提出解决方案