<!DOCTYPE html>
<html>
<head>
<title>GeoLocation</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var map;
var poly;
function initialize() {
var myLatlng = new google.maps.LatLng(31.1937077, 121.4158436);
var locations = [
['test1, accuracy: 150m', 31.1937077, 121.4158436, 100],
['test2, accuracy: 150m', 31.2937077, 121.4158436, 100],
['test3, accuracy: 150m', 31.0937077, 121.2158436, 100],
['test4, accuracy: 150m', 31.3937077, 120.4158436, 100],
['test5, accuracy: 150m', 31.1637077, 120.4858436, 100],
['test6, accuracy: 150m', 31.1037077, 121.5158436, 100]
];
var mapOptions = {
zoom: 13,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// 线条设置
var polyOptions = {
strokeColor: '#00ff00', // 颜色
strokeOpacity: 1.0, // 透明度
strokeWeight: 4 // 宽度
}
poly = new google.maps.Polyline(polyOptions);
poly.setMap(map); // 装载
/* 循环标出所有坐标 */
/*for(var i=0; i<locations.length; i++){
var loc = [];
loc.push(locations[i][1]);
loc.push(locations[i][2]);
var path = poly.getPath(); //获取线条的坐标
path.push(new google.maps.LatLng(loc[0], loc[1])); //为线条添加标记坐标
//生成标记图标
marker = new google.maps.Marker({
position: new google.maps.LatLng(loc[0], loc[1]),
map: map
// icon: "https://maps.gstatic.com/mapfiles/markers/marker_green.png"
});
}*/
var marker, i, circle;
var iwarray = [];
var infoWindow;
var latlngbounds = new google.maps.LatLngBounds();
var iconYellow = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/icons/yellow-dot.png");
for (i = 0; i < locations.length; i++) {
var loc = [];
loc.push(locations[i][1]);
loc.push(locations[i][2]);
var path = poly.getPath(); //获取线条的坐标
path.push(new google.maps.LatLng(loc[0], loc[1]));
var latlng = new google.maps.LatLng(locations[i][1], locations[i][2]);
latlngbounds.extend(latlng);
if (locations[i][0].indexOf("[Cached") == 0 || (locations[i][0].indexOf("[Multiple") == 0 && locations[i][0].indexOf("[Cached") >= 0 )) {
marker = new google.maps.Marker({
position: latlng,
map: map,
icon: iconYellow
});
var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#FF0000">' + locations[i][0] + '<font></strong><div>';
} else {
marker = new google.maps.Marker({
position: latlng,
map: map
});
var iw = '<div style="font-size: 12px;word-wrap:break-word;word-break:break-all;"><strong><font color="#000000">' + locations[i][0] + '<font></strong><div>';
}
iwarray[i] = iw;
google.maps.event.addListener(marker, 'mouseover', (function(marker,i){
return function(){
infoWindow = new google.maps.InfoWindow({
content: iwarray[i],
maxWidth: 200,
pixelOffset: new google.maps.Size(0, 0)
});
infoWindow.open(map, marker);
}
})(marker,i));
google.maps.event.addListener(marker, 'mouseout', function() {
infoWindow.close();
});
circle = new google.maps.Circle({
map: map,
radius: locations[i][3],
fillColor: '#0000AA',
fillOpacity: 0.01,
strokeWeight: 1,
strokeColor: '#0000CC',
strokeOpacity: 0.8
});
circle.bindTo('center', marker, 'position');
}
map.fitBounds(latlngbounds);
var listener = google.maps.event.addListenerOnce(map, "idle", function()
{
var zoomLevel = parseInt(map.getZoom());
if (zoomLevel > 13)
map.setZoom(13);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>

在Google map图上做标记,并把标记相连接的更多相关文章

  1. 如何在WebGL全景图上做标记

    WebGL可以用来做3D效果的全景图呈现,例如故宫的全景图.但有时候我们不仅仅只是呈现全景图,还需要增加互动.故宫里边可以又分了很多区域,例如外朝中路.外朝西路.外朝东路等等.我们需要在3D图上做一些 ...

  2. Google Map API v2 (三)----- 地图上添加标记(Marker),标记info窗口,即指定经纬度获取地址字符串

    接上篇 http://www.cnblogs.com/inkheart0124/p/3536322.html 1,在地图上打个标记 private MarkerOptions mMarkOption; ...

  3. 如何在Google Map中处理大量标记(ASP.NET)(转)

    如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...

  4. Android中Google地图路径导航,使用mapfragment地图上画出线路(google map api v2)详解

    在这篇里我们只聊怎么在android中google map api v2地图上画出路径导航,用mapfragment而不是mapview,至于怎么去申请key,manifest.xml中加入的权限,系 ...

  5. Google Map API Version3 :代码添加和删除marker标记

    转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标 ...

  6. Swift - 使用MapKit显示地图,并在地图上做标记

    通过使用MapKit可以将地图嵌入到视图中,MapKit框架除了可以显示地图,还支持在地图上做标记. 1,通过mapType属性,可以设置地图的显示类型 MKMapType.Standard :标准地 ...

  7. Google Map 自定义 infowindow

    最近做的东西用到了infowindow,不过google提供的样式太难看了,于是想改变一下样式.看了一下好像infowindow的样式不太好改. 查了半天资料,看到一个infobox,感觉真的挺好用. ...

  8. Google Map API 应用实例说明

    目录 Google Map API 1基础知识 1.1 Google 地图 API 概念 1.2 Google 地图的"Hello, World" 1.2.1 加载 Google ...

  9. Google Map API V3开发(3)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

随机推荐

  1. Oracle运维必修内功:前瞻性运维理念

    数据库是商业的灵魂和大脑,作为核心IT业务模块,数据库的重要性毋庸置疑.管理数据库在做好系统前期部署后,在系统持续运行中,需要时刻关注系统自身和环境等对于运行可能产生的潜在影响和可能的危险,并及时予以 ...

  2. override和new的区别

    override 1. override是派生类用来重写基类中方法的: 2. override不能重写非虚方法和静态方法: 3. override只能重写用virtual.abstract.overr ...

  3. html基础之 input:type

    Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍.1,type=text输入类型是text,这是我们见的最多 ...

  4. Windows下Redis的安装

    1.安装Redis 官方网站:http://redis.io/ 官方下载:http://redis.io/download 可以根据需要下载不同版本 windows版:https://github.c ...

  5. php isset — 检测变量是否设置 foreach循环运用

    例子 $a = 336 ; $b = 33 ; function large($x,$y){ if((!isset($x))||(!isset($y))){ // echo "this fu ...

  6. 从数据库中导出.csv文件

    需求: 本次将数据库中的数据导出成.csv文件(office可以打开), //数据的生成,根据你所选中的数据进行生成 //params:$activity_id -> 活动的id //param ...

  7. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream(转)

    java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream 使用Tomcat的Manag ...

  8. Oracle EBS-SQL (CST-3):检查零成本交易.sql

    SELECT            '零成本交易'                                交易异常类型          ,msi.segment1               ...

  9. 解决同一PC同一浏览器session共享问题

    首先session是同一PC同一浏览器共享的.比如如下代码: public void doPost(HttpServletRequest request, HttpServletResponse re ...

  10. Android Studido下的应用性能优化总结--布局优化

    前言:一个应用的成功=产品设计*性能 ,再此我们不讨论一个应用的设计,那交给我们可爱又可恨的产品经理和UI设计师来决定!所以这里分步骤讨论如何提升一个应用的性能,这里先探讨布局优化问题. 布局优化 避 ...