相关文章推荐
玩命的火腿肠  ·  GEO Accession viewer·  2 周前    · 
稳重的警车  ·  left join on ...·  7 月前    · 
深情的夕阳  ·  C# ...·  1 年前    · 
zoom: 17, center: new google.maps.LatLng(clat, clng), // 设置当前柜子为中心 mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControl: false //添加map gmap = new google.maps.Map(document.getElementById("googleMap"), myOptions);

2、取数据,并标点,并给每个标点添加点击事件:

let markers = [];
for(var i = 0; i < Mapdata.length; i++) {
	var gmarker = new google.maps.Marker({
		position: new google.maps.LatLng(Mapdata[i].latitude, Mapdata[i].longitude),
		map: gmap,
		// 下面是匹配中心点图标及一般坐标的图标
		icon: (clng == Mapdata[i].longitude && clat == Mapdata[i].latitude) ? "" : 'img/myPic.png',
		siteId: Mapdata[i].siteId,
		_lng: Mapdata[i].longitude,
		_lat: Mapdata[i].latitude,
	markers.push(gmarker);
// 添加点击事件
for(let j = 0; j < markers.length; j++) {
	markers[j].addListener('click', function() {
		// 点击图标,跳转到对应的详情
		location.href = "detail.html?id=" + markers[j].siteId + "&lng=" + markers[j]._lng + "&lat=" + markers[j]._lat;

下面是首页示意图,下面的图标采用的自定义的图标
这个icon是自定义的
3、点击首页标点,进入详情页,把ID传过去,
其中一个是重新定位最新的中心点,并zoom到适当的比例,并把选中的中心点标为谷歌默认的红色;下面是详情展示
在这里插入图片描述

4、详情页面点的切换,地图不刷新,地图标点重新渲染

for(let j = 0; j < markers.length; j++) {
	markers[j].addListener('click', function() {
           event.preventDefault();
           event.stopPropagation();
			// 点击图标,获取到对应的详情
             getDetail(markers[j].siteId);
             gmap.setCenter(new google.maps.LatLng(markers[j]._lat,markers[j]._lng));  // 设立新的中心点        
              // 设立当前点中的为红标,其他的为默认黑标        
              markers.forEach(function(ee, ii){
                  if (ee._lng !== markers[j]._lng && ee._lat !== markers[j]._lat) {
                      ee.setIcon("img/location/myPic.png"); //非选中的图标
                  } else {
                      ee.setIcon("");  // 选中的图标(红色)

所以总结就是:
一、设立新的中心点:gmap.setCenter(latitude, longitude);
二、重新渲染选中的图标:ee.setIcon(“img/myPic.png”); //非选中的图标

谷歌地图(交通地图)上并没有显示某个地址的经纬度,实际上,我们已经想到了一个办法,可以找到在谷歌地图上任意地的经度和纬度。   首先打开Google地图,在上面寻找一个地址,然后上下左右移动地图,让这个地址正好处于地图的正中心位置,当您想寻找坐标位置已经处于地图的中心位置的时候,拷贝并粘贴以下代码到你的浏览器地址栏:   javascript:void(prompt(... 最近开发一款海外项目,用到地图的功能,肯定选择的是谷歌地图。 功能有获取用户当前定位并标记,标记用户周围的骑手位置;谷歌地图搜索地址;地图上标记两个并画出两的直线距离或者路线距离。这个一堆的功能对我来说已经够吐血的了,最近又一个功能困扰我好久,我给谷歌提交的工单,给我的回复都不能解决实质性问题,网上关于这个都是百度地图和高德地图的方案,那就照葫芦画瓢了(参考https://blog.csdn.net/yu19931202/article/details/72765414) 要实现的功能就是 :挪动. //获取手机左上角的经纬度 var maxX = map.getBounds().getNorthEast().lng(); var maxY = map.getBounds().getNorthEast().lat(); //获取中心点的经纬度 newlat = JSON.stringify(map.getCenter()).split(',')[0].split(':')[1] newlog = JSON.stringify(map.getCenter()).split(',')[1].spli... var latlngbounds = new GLatLngBounds( ); latlngbounds.extend(new GLatLng(39.907,116.387)); latlngbounds.extend(new GLatLng(39.935,116.407)); la... 要在自己的网页中嵌入地图,常用的方法可以归纳为以下几种: 1、最简单的方法 ——使用谷歌地图主页的"链接"       如果你只需要在自己的页面上显示某个特定范围的地图,比如你的公司所在地,但是不需要在地图上添加任何额外的内容,比如标记、折线等等,那么,使用这个方法来嵌入谷歌地图是最简单的。       登录谷歌地图主页,定位你需要显示的范围后,地图左上角的“链接”,会出现一个信息框,给... 方法一:获得gmap地图上指定位置的坐标, 1 打开 http://ditu.google.com/maps 2 找到你要获得坐标的地, 指着那个位置,鼠标右键,定位到中心,则自动居中 3 在浏览器栏输入 要在Google Map 上动态显示一些标记,首先需要定位,将定位数据保存到数据库。一共需要获取五个数据: 地图倍率、地图中心X坐标和Y坐标、当前的X坐标和Y坐标地图倍率可以通过缩放地图触发事件获取,地图中心坐标可以通过移动地图事件获取、当前坐标可以通过击事件获取。 相关代码: &lt;script language="javascript" type="text/j... https://www.cnblogs.com/sekon/p/4297180.html https://www.cnblogs.com/sylvanas2012/p/5342530.html https://blog.csdn.net/zouli415/article/details/80689172 一般从...