ОК.
В основном я использую API Карт Google – это Javascript.
Мой сайт работает с PHP по большей части.
Мое намерение состоит в том, чтобы звонить в API Карт Google, чтобы получить расстояние между различными иными геокодированными долготами и точками широты. Затем я хочу показать их своим пользователям.
Пример.
У меня есть (в php):
$home=array(latitude,longitude);
У меня также есть результат mysql_query из моей базы данных местоположений.
Как таковой я делаю
while($result=mysql_fetch_array($results)){ //OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE //BETWEEN MY HOME AND THE DB LOCATIONS }
вwhile($result=mysql_fetch_array($results)){ //OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE //BETWEEN MY HOME AND THE DB LOCATIONS }
В примере кода значение просто выводится в div, устанавливая внутренний html указанного div на значение ответа определенного запроса (это – то, где мои знания JS становятся туманными).
В идеале я хочу получить это значение в php var.
В любом случае:
$var=response from js thing;
То, что я сделал на данный момент, по существу, использует php. Я создал правильное количество div с именами «response1», «response2» и т. Д., Которые JS заполняет … но это не похоже на самый логичный способ делать вещи.
Надеюсь, это имеет смысл. благодаря
Для отправки ответа с JavaScript на PHP требуется AJAX:
Если вы можете использовать JQuery, который является довольно стандартным, это очень просто. Это дословно из одного из уроков, которые я написал для своего курса PHPPro:
receiveNumbers.php
<?php if (isset($_GET['sentNums'])) { $sentNumbers = filter_input(INPUT_GET, 'sentNums', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); // Convert to array. $numbers = split(', ', $sentNumbers); // Echo out. echo json_encode($numbers). }
index.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Graph Sort | PHPExperts.pro</title> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/jquery.json-2.2.min.js"></script> <script type="text/javascript"> var myNumbers = '5, 10, 22, 11'; var receivedNumbers; <?php // Send data from JavaScript -> PHP. if (!isset($_GET['myData'])) { ?> jQuery.getJSON('receiveNumbers.php?sentNums=' + myNumbers, function(jsonReceived) { receivedNumbers = jQuery.parseJSON(jsonReceived); alert(receivedNumbers); // Expected [5,10,22,11] }); <?php } ?> </script> </head> </html>
Я бы рекомендовал взглянуть на эту часть API Карт Google.
Да! Я сделал это только на днях:
в вашем файле PHP сделайте это (взято прямо из моего кода):
<?php $numbers = array(5, 2, 10, 15); /* Model and stuff here */ ?> <html> <head> <script type="text/javascript"> // We're going to put all the info we need here, as a JS global variable. // If you need even more control, simply fetch it via JQuery from a PHP script that does the following. var numbers = <?php echo json_encode($numbers); ?> alert(numbers); // Expected output: [5,2,10,15] alert(numbers[2]); // Expected output: 10 </script> </head> </html>
Ура!