Google maps api 3 在信息窗口中添加超链接url。来自坐标xml文件的属性url-谷歌地图平台
我想从地图位置的链接xml文件导入url属性,并在信息窗口中显示超链接 Infowindow当前只显示没有超链接的链接,我需要一段代码,它将使用xml文件中的url添加超链接,并用概要文件包围结果 现在我正因为引用而陷入困境 地图: 代码:Google maps api 3 在信息窗口中添加超链接url。来自坐标xml文件的属性url-谷歌地图平台,google-maps-api-3,Google Maps Api 3,我想从地图位置的链接xml文件导入url属性,并在信息窗口中显示超链接 Infowindow当前只显示没有超链接的链接,我需要一段代码,它将使用xml文件中的url添加超链接,并用概要文件包围结果 现在我正因为引用而陷入困境 地图: 代码: 世界传送地图2.0 /*始终明确设置贴图高度以定义div的大小 *包含映射的元素*/ #地图{ 身高:100%; } /*可选:使示例页面填充窗口*/ html,正文{ 身高:100%; 保证金:0; 填充:0; } var customLabel={ 传
世界传送地图2.0
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,正文{
身高:100%;
保证金:0;
填充:0;
}
var customLabel={
传送:{
标签:“T”
},
酒吧:{
标签:“B”
}
};
函数initMap(){
var styledMapType=new google.maps.styledMapType(
[{“elementType”:“geometry”,“stylers”:[{“color”:“{”elementType:“labels.icon”,“stylers”:[{“visibility”:“off”}]},{“elementType”:“labels.text.fill”,“stylers”:[{“color”:“{6161616161”}]},{“elementType”:“labels.text.stroke”,“stylers”:[{”color:“{”color:“{”color:“F5F5F5F5F5”}]}],{“featureType:“administrative”,“elementType”:“geometry”,“stylers”:[{“visibility”:“off”}],{“featureType”:“administrative.land_parcel”,“elementType”:“labels.text.fill”,“stylers”:[{“color”:“#bdbdbdbdbd”}],{“featureType”:“administrative.Neighboration”:“off”}],{“featureType”:“poi”,“stylers”:[{“visibility”:“off”}],{“featureType”:“poi”、“elementType”:“geometry”、“stylers”:[{“color”:“#eeeeee”}、{“featureType”:“poi”、“elementType”:“labels.text”、“stylers”:[{“visibility”:“off”}}、{“featureType”:“poi”、“elementType”:“labels.text.fill”、“stylers”:[{“color”:“#75757575”}、{“featureType”:“poi.park”、“elementType”:“geometry”、”样式器:[{“颜色”:“{E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E道路、元素类型:“标签.图标”、“样式器”:[{“可见性”:“关闭”}、{“特征类型”:“道路.干线”、“样式器”:[{“可见性”:“关闭”}、{“特征类型”:“道路.干线”、“元素类型”:“标签.文本.填充”、“样式器”:[{“颜色”:“#75757575”}]}、{“特征类型”:“道路.公路”、“元素类型”:“几何体”、“样式器”:[{“颜色”:#dadada“}],{“featureType”:“road.highway”,“elementType”:“labels”,“stylers”:[{“visibility”:“off”}],{“featureType”:“road.highway”,“elementType”:“labels.text.fill”,“stylers”:[{“color”:“#61616161”}],{“featureType”:“road.local”,“stylers”:[{“visibility”:“off”}],{“off”}],{“featureType”:“road.local”,“elementType”:labels.text.fill,“stylers”:[{“color”:“#9e9e9e”}],{“featureType”:“transit”,“stylers”:[{“visibility”:“off”}],{“featureType”:“transit.line”,“elementType”:“geometry”,“stylers”:[{“color”:“#e5e5e5e5”}]}],{“featureType”:“transit.station”,“elementType”:“geometry”,“stylers”:[{“color”:“color”:“eeeeeeee”}],{“featureType”},”“:”水“,”元素类型“:”几何“,”样式“:”{”颜色“:”{”特征类型“:”水“,”元素类型“:”几何体.填充“,”样式“:”[{”颜色“:”元素类型“:”水“,”元素类型“:”标签.文本“,”样式“:{”可见性“:”关闭“},{”特征类型“:”水“,”元素类型“:”标签.文本.填充“,”样式“:”[{“颜色”:“#9e9e9e”}]},
{name:'Styled Map'});
var map=new google.maps.map(document.getElementById('map'){
中心:新google.maps.LatLng(48.273056,-11.346264),
缩放:3,
mapTypeControlOptions:{
MapTypeId:[“路线图”、“卫星”、“混合”、“地形”,
“样式化地图”]
}
});
map.mapTypes.set('styled_map',styledMapType);
setMapTypeId('styled_map');
var infoWindow=new google.maps.infoWindow;
//根据PHP或XML文件的名称进行更改
下载URL('https://worldteleport.site-ym.com/resource/resmgr/scripts/Teleport_PINS.xml,函数(数据){
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName('marker');
Array.prototype.forEach.call(markers,function(markereem)){
var id=markereem.getAttribute('id');
var name=markereem.getAttribute('name');
var tier=markerem.getAttribute('tier');
var site=markerem.getAttribute('site');
var address=markerem.getAttribute('address');
var type=markereem.getAttribute('type');
var point=new google.maps.LatLng(
parseFloat(markerem.getAttribute('lat')),
parseFloat(markerem.getAttribute('lng'));
var infowincontent=document.createElement('div');
var strong=document.createElement('strong');
strong.textContent=名称
infowincontent.appendChild(强);
infowincontent.appendChild(document.createElement('br'));
var text=document.createElement('text');
text.textContent=层
infowincontent.appendChild(document.createElement('br'));
infowincontent.appendChild(文本);
var text=document.createElement('text');
text.textContent=站点
infowincontent.appendChild(document.createElement('br'));
infowincontent.appendChild(文本);
变量图标=
<meta content="initial-scale=1.0, user-scalable=no" name="viewport" />
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
<title>World Teleport Map 2.0</title>
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
<div id="map"> </div>
<script>
var customLabel = {
Teleport: {
label: 'T'
},
bar: {
label: 'B'
}
};
function initMap() {
var styledMapType = new google.maps.StyledMapType(
[ { "elementType": "geometry", "stylers": [ { "color": "#f5f5f5" } ] }, { "elementType": "labels.icon", "stylers": [ { "visibility": "off" } ] }, { "elementType": "labels.text.fill", "stylers": [ { "color": "#616161" } ] }, { "elementType": "labels.text.stroke", "stylers": [ { "color": "#f5f5f5" } ] }, { "featureType": "administrative", "elementType": "geometry", "stylers": [ { "visibility": "off" } ] }, { "featureType": "administrative.land_parcel", "elementType": "labels.text.fill", "stylers": [ { "color": "#bdbdbd" } ] }, { "featureType": "administrative.neighborhood", "stylers": [ { "visibility": "off" } ] }, { "featureType": "poi", "stylers": [ { "visibility": "off" } ] }, { "featureType": "poi", "elementType": "geometry", "stylers": [ { "color": "#eeeeee" } ] }, { "featureType": "poi", "elementType": "labels.text", "stylers": [ { "visibility": "off" } ] }, { "featureType": "poi", "elementType": "labels.text.fill", "stylers": [ { "color": "#757575" } ] }, { "featureType": "poi.park", "elementType": "geometry", "stylers": [ { "color": "#e5e5e5" } ] }, { "featureType": "poi.park", "elementType": "labels.text.fill", "stylers": [ { "color": "#9e9e9e" } ] }, { "featureType": "road", "elementType": "geometry", "stylers": [ { "color": "#ffffff" } ] }, { "featureType": "road", "elementType": "labels", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road", "elementType": "labels.icon", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road.arterial", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road.arterial", "elementType": "labels.text.fill", "stylers": [ { "color": "#757575" } ] }, { "featureType": "road.highway", "elementType": "geometry", "stylers": [ { "color": "#dadada" } ] }, { "featureType": "road.highway", "elementType": "labels", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road.highway", "elementType": "labels.text.fill", "stylers": [ { "color": "#616161" } ] }, { "featureType": "road.local", "stylers": [ { "visibility": "off" } ] }, { "featureType": "road.local", "elementType": "labels.text.fill", "stylers": [ { "color": "#9e9e9e" } ] }, { "featureType": "transit", "stylers": [ { "visibility": "off" } ] }, { "featureType": "transit.line", "elementType": "geometry", "stylers": [ { "color": "#e5e5e5" } ] }, { "featureType": "transit.station", "elementType": "geometry", "stylers": [ { "color": "#eeeeee" } ] }, { "featureType": "water", "elementType": "geometry", "stylers": [ { "color": "#c9c9c9" } ] }, { "featureType": "water", "elementType": "geometry.fill", "stylers": [ { "color": "#82d1fd" } ] }, { "featureType": "water", "elementType": "labels.text", "stylers": [ { "visibility": "off" } ] }, { "featureType": "water", "elementType": "labels.text.fill", "stylers": [ { "color": "#9e9e9e" } ] } ],
{name: 'Styled Map'});
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(48.273056, -11.346264),
zoom: 3,
mapTypeControlOptions: {
mapTypeIds: ['roadmap', 'satellite', 'hybrid', 'terrain',
'styled_map']
}
});
map.mapTypes.set('styled_map', styledMapType);
map.setMapTypeId('styled_map');
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP or XML file
downloadUrl('https://worldteleport.site-ym.com/resource/resmgr/scripts/Teleport_PINS.xml', function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName('marker');
Array.prototype.forEach.call(markers, function(markerElem) {
var id = markerElem.getAttribute('id');
var name = markerElem.getAttribute('name');
var tier = markerElem.getAttribute('tier');
var site = markerElem.getAttribute('site');
var address = markerElem.getAttribute('address');
var type = markerElem.getAttribute('type');
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('lat')),
parseFloat(markerElem.getAttribute('lng')));
var infowincontent = document.createElement('div');
var strong = document.createElement('strong');
strong.textContent = name
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = tier
infowincontent.appendChild(document.createElement('br'));
infowincontent.appendChild(text);
var text = document.createElement('text');
text.textContent = site
infowincontent.appendChild(document.createElement('br'));
infowincontent.appendChild(text);
var icon = customLabel[type] || {};
var image = 'https://www.worldteleport.org/resource/resmgr/scripts/pin_member.png';
var marker = new google.maps.Marker({
map: map,
position: point,
icon: image,
label: icon.image
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
});
});
xmlUrl = "https://worldteleport.site-ym.com/resource/resmgr/scripts/Markers.xml";
loadMarkers();
}
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);
}
function loadMarkers() {
map.markers = map.markers || []
downloadUrl(xmlUrl, function(data) {
var xml = data.responseXML;
markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var tier = markers[i].getAttribute("tier");
var site = markers[i].getAttribute("site");
var marker_image = markers[i].getAttribute('markerimage');
var id = markers[i].getAttribute("id");
var address = markers[i].getAttribute("address1")+"<br />"+markers[i].getAttribute("address2")+"<br />"+markers[i].getAttribute("address3")+"<br />"+markers[i].getAttribute("postcode");
var image = {
url: marker_image,
size: new google.maps.Size(71, 132),
origin: new google.maps.Point(0, 0),
scaledSize: new google.maps.Size(71, 132)
};
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<div class='infowindow'><b>" + name + "</b><br/>" + tier + "<br/>"+ site +"<br/></div>";
var marker = new google.maps.Marker({
map: map,
position: point,
icon: image,
title: name
});
map.markers.push(marker);
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
function doNothing() {}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBQGTqENdfELfxLInlrbi2c78yP7d8sKc4&callback=initMap">
</script>
var a = document.createElement('a');
a.href = site;
var text = document.createElement('text');
text.textContent = site
infowincontent.appendChild(document.createElement('br'));
a.appendChild(text);
infowincontent.appendChild(a);
var markers = xml.getElementsByTagName('marker');
Array.prototype.forEach.call(markers, function(markerElem) {
var id = markerElem.getAttribute('id');
var name = markerElem.getAttribute('name');
var tier = markerElem.getAttribute('tier');
var site = markerElem.getAttribute('site');
var address = markerElem.getAttribute('address');
var type = markerElem.getAttribute('type');
var point = new google.maps.LatLng(
parseFloat(markerElem.getAttribute('lat')),
parseFloat(markerElem.getAttribute('lng')));
var infowincontent = document.createElement('div');
var strong = document.createElement('strong');
strong.textContent = name
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = tier
infowincontent.appendChild(document.createElement('br'));
infowincontent.appendChild(text);
var a = document.createElement('a');
a.href = site;
var text = document.createElement('text');
text.textContent = site
infowincontent.appendChild(document.createElement('br'));
a.appendChild(text);
infowincontent.appendChild(a);
var icon = customLabel[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
});