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.首先 在 ...
随机推荐
- -canOpenURL: failed for URL: "" - error: "(null)" , iOS9 App传输安全 支持http 解决方案
-canOpenURL: failed for URL: "CamCardHDOpenAPI:*" - error: "(null)" This app is ...
- 一个简单的游戏开发框架(七.动作Motion)
发现还没谈到最基本也是最重要的问题,怎么画图,画动画? 在原版cocos2d-x里画动画比较麻烦,见cocos2d-x学习笔记04:简单动画 cocostudio扩展出CCArmature类,就比较简 ...
- 硬件抽象层:HAL
本节我们研究硬件抽象层:HALHAL,它是建立在Linux驱动之上的一套程序库.刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口.二,解决了GPL版权问题.三,针对 ...
- Qt中2D绘图问题总结(一)----------基本的绘制与填充
刚刚开始学习Qt不久,才开始渐渐地熟悉基础内容,学习过程中的一些知识的总结和感悟希望通过博客记录下来,与大家分享学习的同时,也是对自己坚持下去的鞭策,废话不多说了,开始第一次的小总结吧. Qt提供了强 ...
- 转 从腾讯那“偷 了”3000万QQ用户数据
http://www.icaijing.com/hot/article4899809/ http://news.cnblogs.com/n/533061/
- Performance Considerations for Entity Framework 4, 5, and 6
Performance Considerations for Entity Framework 4, 5, and 6 https://msdn.microsoft.com/en-sg/data/hh ...
- CSS巧妙实现分隔线的几种方法
单个标签实现分隔线: 点此查看实例展示 .demo_line_01{ padding: 0 20px 0; margin: 20px 0; line-height: 1px; border-left: ...
- Activity的保存状态和状态恢复
Activity的保存状态和状态恢复 当系统内存不足时,系统会强制结束一些不可见的Activity以节省内存资源.在某些情况下,当被强制结束的Activity再次显示时会出现一些问题. 例如:一个AP ...
- EasyUI加载树控件自动展开所有目录
在这里如何加载树控件就不在熬述,在加载树控件后,树的节点全部展开,要在OnLoadSuccess事件中写代码:
- 排序系列 之 直接插入排序算法 —— Java实现
直接插入排序算法 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素:排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的 ...