MySQL と JavaScript を使用して単純なマップ マーキング関数を実装する方法
マップ マーキング関数は、最新の Web アプリケーションで非常に一般的です。場所、位置情報の表示または地理データの表示など。この記事では、MySQL データベースと JavaScript を使用して簡単なマップ マーカー関数を作成する方法を説明し、具体的なコード例を示します。
1. 準備
始める前に、いくつかの基本的な環境とツールを準備する必要があります:
- MySQL データベース: 地図上にマークされた位置情報を保存するために使用されます。
- HTML、CSS、JavaScript などのいくつかの基本的なフロントエンド テクノロジ ツール。
- コードの実行には、Apache や Nginx などの基本的なサーバー環境が使用されます。
2. データベースとテーブルの作成
まず、マップ マーカーの位置情報を保存するテーブルを MySQL データベースに作成する必要があります。次の SQL ステートメントを使用して、「markers」という名前のテーブルを作成できます。
CREATE TABLE `markers` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `lat` FLOAT(10,6) NOT NULL, `lng` FLOAT(10,6) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
このテーブルには、id、name、lat、lng の 4 つのフィールドが含まれています。 id フィールドは自動インクリメントされる主キーで、name フィールドはタグの名前を格納するために使用され、lat フィールドと lng フィールドはそれぞれタグの緯度と経度を格納するために使用されます。
3. フロントエンド コードを作成する
次に、マップ マーキング機能を実装するためのフロントエンド HTML および JavaScript コードを作成します。
- HTML コード
HTML コードでは、地図を表示し、新しいマーカーを追加するための [マーカーの追加] ボタンを追加するためのマップ コンテナーが必要です。例:
<div id="map"></div> <button onclick="addMarker()">添加标记</button>
- JavaScript コード
JavaScript コードでは、地図 API を使用して地図を読み込み、マーカーを追加する機能を実装する必要があります。ここでは、Google Maps API を使用してデモを行います。まず、Google Maps API を含む HTML ファイルに <script> タグを追加する必要があります。 </script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
次に、JavaScript コードで次のコードを記述できます:
// 初始化地图 function initMap() { // 创建地图对象 var map = new google.maps.Map(document.getElementById('map'), { center: {lat: 0, lng: 0}, zoom: 2 }); // 加载标记 loadMarkers(map); } // 加载标记 function loadMarkers(map) { // 发送异步请求获取标记数据 var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 解析并显示标记 var markers = JSON.parse(xhr.responseText); for (var i = 0; i < markers.length; i++) { var marker = new google.maps.Marker({ position: {lat: markers[i].lat, lng: markers[i].lng}, map: map, title: markers[i].name }); } } }; xhr.open('GET', 'get_markers.php', true); xhr.send(); } // 添加标记 function addMarker() { // 获取标记的名称、纬度和经度 var name = prompt('请输入标记的名称:'); var lat = parseFloat(prompt('请输入标记的纬度:')); var lng = parseFloat(prompt('请输入标记的经度:')); // 创建地图对象 var map = new google.maps.Map(document.getElementById('map')); // 创建标记对象 var marker = new google.maps.Marker({ position: {lat: lat, lng: lng}, map: map, title: name }); // 将标记保存到数据库 saveMarker(name, lat, lng); } // 保存标记 function saveMarker(name, lat, lng) { // 发送异步请求将标记保存到数据库 var xhr = new XMLHttpRequest(); xhr.open('POST', 'save_marker.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.send('name=' + name + '&lat=' + lat + '&lng=' + lng); }
上記のコードでは、まず initMap() 関数を使用してマップを初期化し、loadMarkers を呼び出します。 () 関数は既存のタグを読み込みます。 loadMarkers() 関数は、サーバーに非同期リクエストを送信し、マーカー データを取得し、Google Maps API を使用して地図上にマーカーを表示します。
addMarker() 関数では、prompt() 関数を使用してユーザーが入力したマーカー名、緯度、経度を取得し、Google Maps API を使用して地図上にマーカーを追加します。次に、saveMarker() 関数を呼び出して、マーカーをデータベースに保存する非同期リクエストを送信します。
4. サーバー側コードを作成する
最後に、クライアントのリクエストを処理し、タグ データをデータベースに保存するためのサーバー側コードを作成する必要があります。
- マーカーの保存
PHP を使用してサーバー側コードを記述し、マーカーを保存できます。 「save_marker.php」という名前のファイルを作成し、次のコードを記述します:
<?php // 获取标记的名称、纬度和经度 $name = $_POST['name']; $lat = $_POST['lat']; $lng = $_POST['lng']; // 连接数据库 $mysqli = new mysqli('localhost', 'username', 'password', 'your_database_name'); // 插入数据到数据库 $query = "INSERT INTO markers (name, lat, lng) VALUES ('$name', '$lat', '$lng')"; $mysqli->query($query); // 关闭数据库连接 $mysqli->close(); ?>
- マーカーを取得
同様に、PHP を使用してサーバー側のコードを記述してマーカーを取得できます。データ。 「get_markers.php」という名前のファイルを作成し、次のコードを記述します。
<?php // 连接数据库 $mysqli = new mysqli('localhost', 'username', 'password', 'your_database_name'); // 查询数据库中的标记数据 $query = "SELECT * FROM markers"; $result = $mysqli->query($query); // 构建标记数组 $markers = array(); while ($row = $result->fetch_assoc()) { $markers[] = $row; } // 返回标记数据 echo json_encode($markers); // 关闭数据库连接 $mysqli->close(); ?>
上記のコードでは、まず MySQL データベースに接続し、次に「save_marker.php」と「get_markers」をそれぞれ記述します。 .php」を使用してマーカーをデータベースに保存し、マーカー データを取得します。
5. テスト実行
上記の準備が完了したら、関連ファイルをサーバーにデプロイし、ブラウザで HTML ファイルにアクセスすると、地図マーキング機能を備えたページが表示されます。
[マーカーを追加] ボタンをクリックし、名前、緯度、経度を入力すると、地図上に新しいマーカーを正常に追加できます。同時に、マークされたデータが MySQL データベースに保存されます。
概要
この記事では、MySQL データベースと JavaScript を使用して簡単なマップ マーカー関数を作成する方法を紹介し、具体的なコード例を示しました。この例を通じて、MySQL を使用して地理データを保存する方法と、JavaScript と Google Maps API を使用して地図マーキング関数を実装する方法を学ぶことができます。地図関連アプリケーションの開発に役立てていただければ幸いです。
以上がMySQL と JavaScript を使用して簡単な地図マーキング機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

mysqloffersvariousstorageEngines、それぞれのfordifferentusecases:1)Innodbisidealforapplicationsingingidcomplianceanceandhighconcurrency、support transactions andforeignkeys.2)myisamisbestforread-havyworkloads、transactionsupptort.3)

MySQLの一般的なセキュリティの脆弱性には、SQLインジェクション、弱いパスワード、不適切な許可構成、および非合事ソフトウェアが含まれます。 1。SQL注射は、前処理ステートメントを使用することで防ぐことができます。 2。強力なパスワード戦略を強制的に使用することにより、弱いパスワードを回避できます。 3.不適切な許可構成は、ユーザー許可の定期的なレビューと調整を通じて解決できます。 4.未使用のソフトウェアは、MySQLバージョンを定期的にチェックして更新することでパッチを適用できます。

MySQLの遅いクエリを識別することは、遅いクエリログを有効にし、しきい値を設定することで実現できます。 1.スロークエリログを有効にし、しきい値を設定します。 2.スロークエリログファイルを表示および分析し、詳細な分析のためにMySQLDumpSlowやPT-Query-Digestなどのツールを使用します。 3.インデックスの最適化、クエリの書き換え、およびselect*の使用を回避することで、遅いクエリの最適化を実現できます。

MySQLサーバーの健康とパフォーマンスを監視するには、システムの健康、パフォーマンスメトリック、クエリの実行に注意する必要があります。 1)システムの健康を監視する:Top、HTOP、またはShowGlobalStatusコマンドを使用して、CPU、メモリ、ディスクI/O、ネットワークアクティビティを表示します。 2)パフォーマンスインジケーターの追跡:クエリ番号あたりのクエリ番号、平均クエリ時間、キャッシュヒット率などのキーインジケーターを監視します。 3)クエリ実行の最適化を確保します:スロークエリログを有効にし、実行時間が設定されたしきい値を超えるクエリを記録し、最適化します。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQLはGPLライセンスを使用します。 1)GPLライセンスにより、MySQLの無料使用、変更、分布が可能になりますが、変更された分布はGPLに準拠する必要があります。 2)商業ライセンスは、公的な変更を回避でき、機密性を必要とする商用アプリケーションに適しています。

Myisamの代わりにInnoDBを選択する場合の状況には、次のものが含まれます。1)トランザクションサポート、2)高い並行性環境、3)高いデータの一貫性。逆に、Myisamを選択する際の状況には、1)主に操作を読む、2)トランザクションサポートは必要ありません。 INNODBは、eコマースプラットフォームなどの高いデータの一貫性とトランザクション処理を必要とするアプリケーションに適していますが、Myisamはブログシステムなどの読み取り集約型およびトランザクションのないアプリケーションに適しています。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









