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;
下面是首页示意图,下面的图标采用的自定义的图标
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坐标。
地图倍率可以通过缩放地图触发事件获取,地图中心坐标可以通过移动地图事件获取、当前点坐标可以通过点击事件获取。
相关代码:
<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
一般从...