<!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. RMAN之一:快速入门

    1.数据导出基础 (1)创建datapump导出文件的目录对象并为相应用户授予权限. 出于安全考虑,不允许oracle用户直接在OS上进行文件的操作,而应通过directory对象指定. SQL> ...

  2. openstack安装记录(一)环境准备

    参考文献: 官方文档 http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/index.html 最小实例: 控制节点: 1 处理器, 4 ...

  3. TypeError: 'QueryDict' object is not callable

    id = int(request.POST('id')) Error message: TypeError: 'QueryDict' object is not callable Error rese ...

  4. Strange fuction--hdu2899

    Strange fuction Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  5. humble number(hd1058)

    Problem Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The ...

  6. Max Sum(hd P1003)

    Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum ...

  7. Oracle EBS-SQL (INV-7):检查接收中记录数.sql

    select      msi.segment1           物料编码,       msi.description          物料描述,      sum(rs.quantity)  ...

  8. android widget->progressbar

    其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的

  9. try/catch异常捕捉

    StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); System.out.println(sw. ...

  10. poj3624 简单的01背包问题

    问题描述: 总共有N种宝石供挑选,宝石i的重量为Wi,吸引力为Di,只可以用一次.Bessie最多可负担的宝石手镯总重量为M.给出N,M,Wi,Di,求M. 非常标准的01背包问题.使用了优化的一维数 ...