我正在使用wordpress与jupiter主题和视觉作曲家建立我所在城市的活动在线日程。
我们想要一个页面,您只需点击几下所有场地即可看到该页面。
我要做的是在左手边放一个手风琴,在右手边放一张地图(谷歌地图?)。 手风琴将场地分为不同类别(剧院,音乐场所,展览等)。点击后,例如“剧院”,我们会看到下面所有影院的名称,以及地图上不同的标记位置。 因此,地图上的标记会根据我们点击的手风琴类别进行更改和调整。
有点类似:http://www.xn--bilan-de-comptences-nzb.fr/listing.php?region=aquitaine&departement=33&ville_cp=33000&page=1 点击“suivant”时,它会转到另一页。我想在一个页面上或多或少地做同样的事情。
Html和CSS不是问题,我知道php和mysql是如何工作的,但我不是专家。我对javascript和jquery知之甚少。
感谢您的时间和帮助!
答案 0 :(得分:0)
我之前为地图开发了类似的代码,如果需要,你可以玩游戏并做表。
<div id="map_canvas" style="width:auto;height:500px">
您可以在要添加地图的页面或部分中添加此div。使用VC html元素并根据需要更改尺寸**
创建一个名为“Maps.js”的文件并包含以下代码;
使用网站http://www.latlong.net/即可获得Lat&amp;详细信息,并根据您的位置更改变量标记信息。记住将js文件保存在WordPress主题安装文件夹的js文件夹中。
让我知道它是怎么回事!
jQuery(function($) {
// Asynchronously Load the map API
var script = document.createElement('script');
script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize";
document.body.appendChild(script);
});
function initialize() {
var map;
var bounds = new google.maps.LatLngBounds();
var mapOptions = {
mapTypeId: 'roadmap'
};
// Display a map on the page
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
map.setTilt(45);
// Multiple Markers
var markers = [
['Church Cross' , 6.027207, 80.216655],
['Middle Street', 6.027960, 80.216687],
['Lighthouse Street' , 6.026529, 80.216688]
['Court Square' , 6.027110, 80.219057]
];
// Info Window Content
var infoWindowContent = [
['<div class="info_content">' +
'<b>Church Cross</b><br><br>' +
'<p>No: 9,</p><p>Church Cross St,</p><p>Galle,</p><p>Sri Lanka.</p>' + '</div>'],
['<div class="info_content">' +
'<b>Middle Street</b><br><br>' +
'<p>No.5, Middle Street,</p><p>Galle,</p><p>Sri Lanka.</p>' +
'</div>'],
['<div class="info_content">' +
'<b>Lighthouse Street</b><br><br>' +
'<p>No.5, Middle Street,</p><p>Galle,</p><p>Sri Lanka.</p>' +
'</div>']
['<div class="info_content">' +
'<b>Court Square</b><br><br>' +
'<p>No.1, Court Square,</p><p>Galle,</p><p>Sri Lanka.</p>' +
'</div>']
];
// Display multiple markers on a map
var infoWindow = new google.maps.InfoWindow(), marker, i;
// Loop through our array of markers & place each one on the map
for( i = 0; i < markers.length; i++ ) {
var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
bounds.extend(position);
marker = new google.maps.Marker({
position: position,
map: map,
title: markers[i][0]
});
// Allow each marker to have an info window
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infoWindow.setContent(infoWindowContent[i][0]);
infoWindow.open(map, marker);
}
})(marker, i));
// Automatically center the map fitting all markers on the screen
map.fitBounds(bounds);
}
// Override our map zoom level once our fitBounds function runs (Make sure it only runs once)
var boundsListener = google.maps.event.addListener((map), 'bounds_changed', function(event) {
this.setZoom(17);
google.maps.event.removeListener(boundsListener);
});
}