google地图的路线实现代码


Posted in Javascript onAugust 20, 2009
<script language="javascript" type="text/javascript"> 
//add by ahuinan 2009-8-17 
//initialize(23.165613663312594,113.35968017578125) 
var map; 
var gdir; 
var marker2; 
var hasMarker = false; 
var hotelLatLng = new GLatLng(<%=initxy %>);//初始化酒店的坐标 
var polyline; 
var points = []; 
points[1] = hotelLatLng; 
function initialize() { 
if (GBrowserIsCompatible()) { 
map = new GMap2(document.getElementById("divMap"), { googleBarOptions: { showOnLoad: true} }); 
gdir = new GDirections(map); 
map.setCenter(hotelLatLng, 9); 
map.addControl(new GOverviewMapControl()); 
map.addControl(new GLargeMapControl()); //加入搜索框 
map.enableGoogleBar(); 
map.enableScrollWheelZoom(); 
//创建酒店的标注,不可拖动 
var hotelMarker = new GMarker(new GLatLng(<%=initxy %>)); 
map.addOverlay(hotelMarker); 
//鼠标左键可以建立一个标记, 
GEvent.addListener(map,"click",function(overlay,latlng,overlaylatlng){ 
if(latlng == null || hasMarker == true){ 
return; 
} 
var greenIcon = new GIcon(G_DEFAULT_ICON); 
greenIcon.image = "../googlemap/green-dot.png"; 
greenIcon.iconSize = new GSize(32,32); 
greenIcon.iconAnchor = new GPoint(16,32); 
greenIcon.shadowSize=new GSize(56,33); 
marker2 = new GMarker(latlng,{draggable: true,icon:greenIcon}); 
map.addOverlay(marker2); 
GEvent.addListener(marker2,"dragend",function(){ 
points[0] = marker2.getLatLng(); 
gdir.loadFromWaypoints(points,{"preserveViewport":true}); 

}) 
GEvent.addListener(gdir, "addoverlay", function(){ 
for (var i=0; i<=gdir.getNumRoutes(); i++){ 
var originalMarker = gdir.getMarker(i); 
map.removeOverlay(originalMarker); 
} 
polyline = gdir.getPolyline(); 

polyline.setStrokeStyle({color:"red",weight:2,opacity:1}); 
// map.addOverlay(polyline); 
}); 
hasMarker = true; 
points[0] = latlng; 
gdir.loadFromWaypoints(points,{"preserveViewport":true}); 
}) 
} 
} 
//按下添加按钮 
function add(){ 
if(points.length == 1){ 
alert("没有线路,终止操作"); 
}else{ 
window.opener.document.getElementById("txtHI_MapMarkDesc").value = window.opener.document.getElementById("txtHI_MapMarkDesc").value+"\n"+document.getElementById("txtName").value+"||||"+document.getElementById("txtType").value+"||||"+points[0]+"\n"; 
window.close(); 
} 
} 
window.onload = function() { 
initialize() 
} 
</script>
Javascript 相关文章推荐
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
Sep 10 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
Jan 19 Javascript
基于jQuery ligerUI实现分页样式
Sep 18 Javascript
Angularjs修改密码的实例代码
May 26 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 Javascript
详解a标签添加onclick事件的几种方式
Mar 29 Javascript
leaflet加载geojson叠加显示功能代码
Feb 21 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
javascript实现简单页面倒计时
Mar 02 Javascript
vue 实现上传组件
May 31 Vue.js
JavaScript 字符串乘法
Aug 20 #Javascript
javascript 短路法代码精简
Aug 20 #Javascript
斜45度寻路实现函数
Aug 20 #Javascript
javascript 多级checkbox选择效果
Aug 20 #Javascript
调用js时ie6和ie7,ff的区别
Aug 19 #Javascript
jquery 入门教程 [翻译] 推荐
Aug 17 #Javascript
jQuery select控制插件
Aug 17 #Javascript
You might like
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
YII实现分页的方法
2014/07/09 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
Python入门篇之正则表达式
2014/10/20 Python
解析Python中while true的使用
2015/10/13 Python
Python之re操作方法(详解)
2017/06/14 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
期末考试动员演讲稿
2014/01/10 职场文书
求职自我推荐信
2014/06/25 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
Apache POI的基本使用详解
2021/11/07 Servers