- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在建立一个网站,其中包括照片库功能。在图库页面中,有一个带有多个标记的 map (谷歌),每个标记都与特定的照片相关。
我的数据库中有一个“标记”表:
markers: id | name | address | lat | lng | gallery_id_______________________________________________________1 | .. | .... |.. | .. | 2 2 | .. | .... |.. | .. | 2 3 | .. | .... |.. | .. | 34 | .. | .... |.. | .. | 35 | .. | .... |.. | .. | 10......................
All the fields are populated with geolocated data and every row represents a specific photo uploaded by the user, all but gallery_id, that holds the id of the gallery that owns the photo.
In the gallery page there's the javascript to build up the google map:
<script type="text/javascript">
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
disableDefaultUI: true,
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infoWindow = new google.maps.InfoWindow;
var bounds = new google.maps.LatLngBounds();
//phpsqlajax-xmlgenerator.php, get the data from database
downloadUrl("phpsqlajax-xmlgenerator.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 type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
animation: google.maps.Animation.BOUNCE
});
bindInfoWindow(marker, map, infoWindow, html);
bounds.extend(marker.position);
}
map.fitBounds(bounds);
});
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
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 doNothing() {}
</script>
我向 downloadURL 提供了 phpsqlajax-xmlgenerator.php
文件,我用它构建了保存标记表数据的 xml 文件:
<?php
//Start xml file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Opens a connection to a MySQL server
$conn = mysqli_connect('localhost', 'root', 'password', 'database');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//Select rows in the markers table
$query = "
SELECT * FROM `markers` WHERE 1;
";
$result = mysqli_query($conn, $query);
header("Content-type: text/xml");
// Iterate through the rows
while ($row = mysqli_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("type", $row['type']);
}
echo $dom->saveXML();
?>
到目前为止,一切都运行良好,只要数据库中只有一个画廊, map 和标记都是正确的。
现在我的问题来了:我需要一种方法来向 phpsqlajax-xmlgenerator.php 提供 gallery_id,以便执行正确的查询,因为旧查询只返回每一行标记,无论画廊如何。我想将 phpsqlajax-xmlgenerator.php 代码放在 gallery.php 页面的顶部并直接在页面上生成 xml 文件,但是我应该向 downloadURL 函数提供什么?画廊.php?我考虑的另一种方法是将某种 $_GET
请求放入 downloadURL 参数中,但我找不到正确执行该操作的方法。
最佳答案
将 gallery_id 与 URL 一起传递,例如:
downloadUrl("phpsqlajax-xmlgenerator.php?id=3", function(data) {
并根据get-parameter构建sql:
$id=@intval($_GET['id']);
if($id<1){
exit();
}
$query = 'SELECT * FROM `markers` WHERE gallery_id='.$id;
关于javascript - 动态 downloadURL( ) 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261827/
我正在使用 AngularFireStorage 构建上传图像服务。有问题。 没有人能告诉我如何订阅 downloadurl 吗?这是我的服务: 此服务可能已失效? uploadImage(image
我正在建立一个网站,其中包括照片库功能。在图库页面中,有一个带有多个标记的 map (谷歌),每个标记都与特定的照片相关。 我的数据库中有一个“标记”表: markers: id | na
因此,我使用 Firebase 存储来上传我的网站文件。以下是目录结构的示例: Project ├── index.html ├── css │ └── style.css └── js
我对旧语法有一些问题,例如: metadata?.downloadURL()?.absoluteString" 如何在我的代码中使用新方法?这部分代码错误: let downloadURL = met
我正在使用此代码更新图像并获取 URL,但无法取回 URL。 看来return some是因为它可以进入promise的return中。 我从这里获取此代码:https://gist.github.c
func uploadProfileImage(_ image:UIImage, completion: @escaping ((_ url:URL?)->())) { guard let u
我正在尝试使用 Firebase 云存储和实时数据库。在第一个中,我上传了一张图片,然后我尝试在后者中保存 downloadUrl。在将 Firebase pod 更新到 5.0.0 以使用 MLKi
这个问题在这里已经有了答案: Value of type 'StorageMetadata' has no member 'downloadURL' (6 个答案) 关闭 4 年前。 我使用下面的代
我的应用程序中有这段代码,我用它上传图像并获取其 url,以便我可以将其保存在数据库中,该图像采用 Base64 格式,并且上传成功,正如我在 console.log(snapshot); 输出中看到
您好,我是 javascript 的新手,可以使用一些帮助来修改此 downloadUrl 函数以返回调用的 xml 文档。 function downloadUrl(url, callback) {
为了能够理解上述函数,我仔细寻找了解释。我遇到的情况是在 Google Maps API 文档中: function downloadUrl(url, callback) { var reques
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
嘿,我需要有关此编码的帮助,我不确定发生了什么。前几天还在工作。 if let ur; 之后出现错误= 元数据?.downladURL() func uploadProfileImage(_ imag
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我在使用 downloadURL =metadata.downloadURL 时遇到问题。 let 必须在前面才能工作吗?当我这样做时,它说 definition conflicts with pre
嘿,我需要有关此编码的帮助,我不确定发生了什么。前几天还在工作。 if let ur; 之后出现错误= 元数据?.downladURL() func uploadProfileImage(_ imag
我正在处理存储 Firebase,我正在尝试获取 URL 并将其设置为变量,不幸的是我无法做到这一点,我的代码有问题。有人可以帮我吗? 这是错误: firebase.js:1 Uncaught (in
我是一名优秀的程序员,十分优秀!