【发布时间】:2011-12-22 12:42:42
【问题描述】:
我正在开发一张简单的地图来显示我所在地区的营业地点。我有一个包含地图的主页(map.php),我还创建了一个页面(business.php),它显示有关特定业务的更多信息,例如一些图像、评论等。
我需要在信息框 (infowindow) 上有一个链接,该链接将使用 AJAX/jQuery 动态链接到此页面。我还希望能够将所选业务的值(单击的图标)从 map.php 传递到 business.php,以便我可以显示和/或操作它们。我可以通过将 url 上的值传递给 php 页面来轻松做到这一点。但是我不想离开主页,我只想弹出业务页面。我该怎么做?下面是我的 JavaScript 代码:
function getLocations (url) {
downloadUrl(url, 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 type = markers[i].getAttribute("type");
var pic = markers[i].getAttribute("image");
var link = markers[i].getAttribute("link");
var details = markers[i].getAttribute("details");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng"))
);
var html = "<div id='content'>" + name + "</b> <br />" + '<img src="' + pic + '"/>' + " </b> <br/>" + address + '</b> <br /> <a href="business.php">View More Information</a></div>';
var icon = customIcons[type] || {};
var marker = new MarkerWithLabel({
position: point,
draggable: false,
raiseOnDrag: false,
map: map,
labelContent: type,
labelAnchor: new google.maps.Point(30, 65),
labelClass: "labels", // the CSS class for the label
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
当用户单击“查看更多信息”链接时,我希望 business.php 页面动态弹出。
【问题讨论】:
标签: javascript jquery ajax google-maps