Google maps 我想从表上的链接打开“地图信息”窗口
我现在正在做一个包含谷歌地图API的项目!我正在从数据库中使用mysql在地图上加载标记。现在我所要做的是我以前见过的事情 我想在显示的表格上创建一个链接,点击它会在地图上打开一个信息窗口……我完全不知道从哪里开始 这是我的地图代码Google maps 我想从表上的链接打开“地图信息”窗口,google-maps,google-maps-api-3,google-maps-markers,Google Maps,Google Maps Api 3,Google Maps Markers,我现在正在做一个包含谷歌地图API的项目!我正在从数据库中使用mysql在地图上加载标记。现在我所要做的是我以前见过的事情 我想在显示的表格上创建一个链接,点击它会在地图上打开一个信息窗口……我完全不知道从哪里开始 这是我的地图代码 <?php include("connect.php"); ?> <!DOCTYPE html > <head> <meta http-equiv="Content-Type" content="text/htm
<?php include("connect.php");
?>
<!DOCTYPE html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="stylesheet.css" type="text/css" rel="stylesheet" media="screen" />
<title>AzamTv Customer Database</title>
<style type="text/css">
<!--
.style2 {color: #999999}
.style3 {color: #666666}
.style4 {color: #FF0000}
.style5 {color: #3366FF}
-->
</style>
<script src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script language="javascript" type="text/javascript">
function downloadUrl(url,callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
//Get element by ID where the function return tand get the latitude and longitude
//do not embed any thing before authorized permition to google.
function load() {
var map = new google.maps.Map(document.getElementById("map_canvas"), {
center: new google.maps.LatLng( -6.801859, 39.282503),
zoom: 13,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
downloadUrl("mapxml.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var licence_number = markers[i].getAttribute("Licence_number");
var phone = markers[i].getAttribute("phone");
var business_image = markers[i].getAttribute("business_image");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
//Creating image
var image_src= "<div><img width='100' height='100' src=' "+ business_image +"' /></div>";
var html = "<b>" +"<h4>Business Name:</h4>"+ name + "</b> <br/><br/>"+"<h4>Address:</h4>" + address + "</b> <br/><br/>"+"<h4>Licence Type:</h4>" + licence_number + "</b> <br/><br/>" + "<h4>Phone:</h4>" + phone + "</b> <br/><br/>"+"<h4>Image:</h4>" + image_src + "</br> <a href=\"javascript:zoomout()\">Zoom out</a> <a href=\"javascript:zoomin()\">Zoom in</a>" ;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
//If u wanna change the markers by adding custom ones of ur own add here
var customIcons = {
TIN: {
icon: 'http://maps.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png'
},
VAT: {
icon: 'http://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png'
}
};
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
// Pan map center to marker position
map.panTo(marker.getPosition());
var c= map.getZoom()+3;
var maxZoom=map.mapTypes[map.getMapTypeId()].maxZoom;
if(c<=maxZoom){
map.setZoom(c+3);
}
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
function doNothing() {}
function zoomout() {
var d = map.getZoom();
if(d>0){
map.setZoom(d-1);
}
// e = map.getCenter();
// map.setZoom(d - 1);
// map.setCenter(e.Longitude, e.Latitude);
// should be: map.setCenter(e.lat(), e.lng());
}
function zoomin() {
var x = map.getZoom();
var maxZoom=map.mapTypes[map.getMapTypeId()].maxZoom;
if(x<maxZoom){
map.setZoom(x+1);
}
// y = map.getCenter();
// map.setZoom(x + 1);
// map.setCenter(y.Longitude, y.Latitude);
// should be: map.setCenter(y.lat(), y.lng());
}
</script>
<script language="javascript" type="text/javascript">
//Script For The Search
function cleartxt()
{
formsearch.searched1.value="";
}
function settxt()
{
if(formsearch.searched1.value=="")
{
formsearch.searched1.value="Search Customer";
}
}
</script>
</head>
<body onLoad="load()">
<div id="map" style="width: 100%; height: 80%"></div>
</body>
</html>
AzamTv客户数据库
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(请求、请求、状态);
}
};
打开('GET',url,true);
请求发送(空);
}
//按ID获取元素,函数返回并获取纬度和经度
//未经谷歌授权,不得嵌入任何东西。
函数加载(){
var map=new google.maps.map(document.getElementById(“map_canvas”){
中心:新google.maps.LatLng(-6.801859,39.282503),
缩放:13,
mapTypeId:“路线图”
});
var infoWindow=new google.maps.infoWindow;
下载URL(“mapxml.php”,函数(数据){
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i
“+”地址:“+Address+”
“+”许可证类型:“+license\u number+”
“+”电话:“+Phone+”
“+”图像:“+Image\u src+””;
var icon=customIcons[type]| |{};
var marker=new google.maps.marker({
地图:地图,
位置:点,,
icon:icon.icon,
阴影:icon.shadow
});
bindInfoWindow(标记、地图、infoWindow、html);
}
});
//如果你想通过添加你自己的自定义标记来更改标记,请在此处添加
var customIcons={
锡:{
图标:'http://maps.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png'
},
增值税:{
图标:'http://maps.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png'
}
};
}
函数bindInfoWindow(标记、地图、infoWindow、html){
google.maps.event.addListener(标记'click',函数(){
//将地图中心平移到标记位置
map.panTo(marker.getPosition());
var c=map.getZoom()+3;
var maxZoom=map.mapTypes[map.getMapTypeId()].maxZoom;
如果(c0){
地图设置缩放(d-1);
}
//e=map.getCenter();
//地图.setZoom(d-1);
//地图设置中心(e.经度,e.纬度);
//应该是:map.setCenter(e.lat(),e.lng());
}
函数zoomin(){
var x=map.getZoom();
var maxZoom=map.mapTypes[map.getMapTypeId()].maxZoom;
如果(x您创建了如下标记
var marker = new google.maps.Marker({
position: myLatlng,
title:"Your title"
});
创建一个点击触发的链接
infowindow.open(map,marker);
我想就这些
编辑:您可以通过href参数识别需要显示的标记,您的意思是喜欢吗?谢谢,但我已经看到了…我想将这些链接分配到表上的一列,该列显示从数据库查询的数据。该链接还应与数据库上的名称相对应。您可以详细说明吗?谢谢,但我如果手动添加标记,我的标记将直接从数据库中提取