我一直在努力解决这个问题,我试图找出如何显示一个用php生成的对象数组的谷歌 map 标记,我有JSON编码,可以在我的js文件中访问. 具体地说,我不确定如何格式化我的数据以便google maps标记参数接受它,或者如何在标记代码中定义参数.
以下是不同程序的重要部分:
PHP
$query = "SELECT LATITUDE as LAT, LONGITUDE as LNG, BUSINESSNAME as SHOP
FROM mechanic
WHERE LATITUDE <> ''
AND LATITUDE IS NOT NULL
";
if ($result = $conn -> query($query)) {
while ($obj = $result -> fetch_object()) {
// save the results to an object array on each iteration
$objects[] = $obj;
}
$result -> free_result();
}
?>
<script>var locations = <?php echo json_encode($objects); ?>
ARRAY IN JS
console.log(locations);
Array(3) [ {…}, {…}, {…} ]
0: Object { LAT: "38.6152529", LNG: "-90.3559897", SHOP: "Toms Auto Care" }
1: Object { LAT: "26.0039884", LNG: "-80.1416624", SHOP: "Sams Shop" }
2: Object { LAT: "38.6152529", LNG: "-90.3559896", SHOP: "Mels Shop" }
length: 3
GOOGLE MAP MARKER code sample in js that I am completely lost on getting to use the array:
locatons.forEach(([position, title], i) => {
const marker = new google.maps.Marker({
position,
map,
title: `${i + 1}. ${title}`,
label: `${i + 1}`,
optimized: false,
});
我已经try 了很长一段时间,在许多格式中,我不确定是否必须将它变成对象数组,但我最终把它放在一起,现在我不知道如何让marks构造函数使用lat_name和shop_name.