通过“更改谷歌地图坐标”;点击”;
Change Google Maps Coordinates by "Onclick"
我需要用href"View Location On Map"在javascript中更改谷歌地图坐标。坐标在表格(td)中
<script type='text/javascript'>
function init_map() {
var myOptions = {
zoom: 10
, center: new google.maps.LatLng(52.95628079999999, 4.76079720000007)
, mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('gmap_canvas'), myOptions);
//1
marker = new google.maps.Marker({
map: map
, position: new google.maps.LatLng(52.95628079999999, 4.76079720000007)
});
infowindow = new google.maps.InfoWindow({
content: '<strong>TEST</strong><br>Den helder, nederland<br>'
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
infowindow.open(map, marker);
}
google.maps.event.addDomListener(window, 'load', init_map);
</script>
<table>
<tr>
<th>ID</th>
<th>Box</th>
<th>User</th>
<th>Location</th>
<th>Coordinates</th>
<th>View</th>
</tr>
<tr>
<td>1</td>
<td>SUEZbox01</td>
<td>Arjan</td>
<td>Den Helder</td>
<td>52.939347, 4.754741</td>
<td><a href="javascript:void(0)">View Location On Map</a></td>
</tr>
<tr>
<td>2</td>
<td>SUEZbox02</td>
<td>Peter Vendrig</td>
<td>Amstelkwartier</td>
<td>52.160309, 6.413578</td>
<td><a href="">View Location On Map</a></td>
</tr>
</table>
一个选项(使用JQuery)是解析表外的坐标,并使用它们将地图居中:
$('a').click(function(evt) {
var coordsStr = $(this).parents().find(".coords").html();
var coords = coordsStr.split(",");
var point = new google.maps.LatLng(coords[0], coords[1]);
map.setCenter(point);
});
更进一步,如果你想打开相关标记上的信息窗口,你可以这样做:
$('table tr').each(function(idx, item) {
var coordsStr = $(this).find(".coords").html();
if (!coordsStr) return;
createMarker($(this));
});
$('a').click(function(evt) {
var coordsStr = $(this).parents().find(".coords").html();
var coords = coordsStr.split(",");
var point = new google.maps.LatLng(coords[0], coords[1]);
map.setCenter(point);
google.maps.event.trigger(markers[coordsStr],'click');
});
google.maps.event.trigger(markers["52.939347, 4.754741"],'click');
概念验证小提琴
代码片段:
var infowindow = new google.maps.InfoWindow();
var markers = [];
function init_map() {
var myOptions = {
zoom: 10,
center: new google.maps.LatLng(52.95628079999999, 4.76079720000007),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('gmap_canvas'), myOptions);
$('table tr').each(function(idx, item) {
var coordsStr = $(this).find(".coords").html();
if (!coordsStr) return;
createMarker($(this));
});
$('a').click(function(evt) {
var coordsStr = $(this).parents().find(".coords").html();
var coords = coordsStr.split(",");
var point = new google.maps.LatLng(coords[0], coords[1]);
map.setCenter(point);
google.maps.event.trigger(markers[coordsStr], 'click');
});
google.maps.event.trigger(markers["52.939347, 4.754741"], 'click');
}
function createMarker(jqe) {
var coordsStr = $(jqe).find(".coords").html();
console.log(coordsStr);
coords = coordsStr.split(",");
var point = new google.maps.LatLng(coords[0], coords[1]);
var marker = new google.maps.Marker({
map: map,
position: point
});
var content = '<strong>TEST</strong><br>' + jqe.find("td").eq(3).html(); + '<br>'
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(content);
infowindow.open(map, marker);
});
markers[coordsStr] = marker;
}
google.maps.event.addDomListener(window, 'load', init_map);
html,
body,
#gmap_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<table>
<tr>
<th>ID</th>
<th>Box</th>
<th>User</th>
<th>Location</th>
<th>Coordinates</th>
<th>View</th>
</tr>
<tr>
<td>1</td>
<td>SUEZbox01</td>
<td>Arjan</td>
<td>Den Helder</td>
<td class="coords">52.939347, 4.754741</td>
<td><a href="javascript:void(0)">View Location On Map</a>
</td>
</tr>
<tr>
<td>2</td>
<td>SUEZbox02</td>
<td>Peter Vendrig</td>
<td>Amstelkwartier</td>
<td class="coords">52.160309, 6.413578</td>
<td><a href="javasript:void()">View Location On Map</a>
</td>
</tr>
</table>
<div id="gmap_canvas"></div>
相关文章:
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 查找带有边框的HTML5 Canvas(点击)事件的坐标
- 在坐标上模拟点击坐标js/jQuery
- ChartJS v2:点击坐标的比例值(时间比例)
- 通过鼠标点击获取X和Y坐标(javascript)
- 谷歌地图:获取点击或标记(x,y)像素坐标内的标记点击侦听器
- 获取在谷歌地图上点击的任何点的坐标
- 高图表散点图:点击事件时的警报坐标
- 使用jquery获取相对于图片的点击坐标
- 通过“更改谷歌地图坐标”;点击”;
- 使用Javascript将鼠标点击坐标插入文本输入框
- 在热图上映射鼠标点击坐标以获得不同的分辨率&JS/Jquery中的屏幕大小
- 拦截整个网站上的鼠标点击坐标
- 跟踪页面的点击坐标,包括iframe
- 鼠标点击坐标-一个真正的解决方案…有吗?
- 如何在WebGL 3d空间中从鼠标点击坐标获取对象
- 使用jQuery模拟鼠标点击坐标
- 尝试使用谷歌地图api,需要更新一个文本字段与鼠标点击坐标
- 如何在HTML5画布上点击坐标
- HTML5 Canvas和Firefox 4 -获取点击坐标