文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用MySQL和JavaScript实现一个简单的地图标记功能

代码创造者之梦

代码创造者之梦

2024-04-11 14:56

关注

这篇文章将为大家详细讲解有关如何使用MySQL和JavaScript实现一个简单的地图标记功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

使用 MySQL 和 JavaScript 实现简单地图标记功能

数据库设计

首先,在 MySQL 中创建一个数据库表来存储地图标记信息。该表应包含以下列:

JavaScript 代码

接下来,在 JavaScript 中编写代码来检索地图标记信息并在地图上显示它们。以下步骤将指导您完成此过程:

1. 创建 Google Maps 脚本

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>

替换 YOUR_API_KEY 为您的 Google Maps API 密钥。

2. 获取 MySQL 数据

使用 XMLHttpRequest 对象从服务器获取地图标记数据:

const xhr = new XMLHttpRequest();
xhr.open("GET", "/markers.php", true);
xhr.onload = function() {
  if (xhr.status === 200) {
    const markers = JSON.parse(xhr.responseText);
    addMarkersToMap(markers);
  }
};
xhr.send();

3. 添加标记到地图

使用 addMarkersToMap 函数将获取的标记添加到 Google 地图:

function addMarkersToMap(markers) {
  const map = new google.maps.Map(document.getElementById("map"), {
    center: { lat: 0, lng: 0 },
    zoom: 2,
  });

  markers.forEach((marker) => {
    const markerPosition = { lat: marker.lat, lng: marker.lng };
    const contentString = `<div><p><b>${marker.name}</b></p><p>${marker.description}</p></div>`;
    const infowindow = new google.maps.InfoWindow({
      content: contentString,
    });

    const newMarker = new google.maps.Marker({
      position: markerPosition,
      map: map,
      title: marker.name,
    });

    newMarker.addListener("click", function() {
      infowindow.open(map, newMarker);
    });
  });
}

4. 创建 PHP 脚本

最后,创建一个 PHP 脚本 /markers.php 来从 MySQL 数据库检索标记信息并以 JSON 格式返回:

<?php
header("Content-Type: application/json");

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// 查询地图标记信息
$sql = "SELECT * FROM markers";
$result = $conn->query($sql);

// 存储标记信息
$markers = [];

// 循环结果集
while ($row = $result->fetch_assoc()) {
  $markers[] = $row;
}

// 将标记信息编码为 JSON
echo json_encode($markers);

// 关闭连接
$conn->close();

通过遵循这些步骤,您可以使用 MySQL 和 JavaScript 集成 Google 地图,在地图上显示动态标记。

以上就是如何使用MySQL和JavaScript实现一个简单的地图标记功能的详细内容,更多请关注编程学习网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯