массивы javascript на gmaps - PullRequest
3 голосов
/ 21 июня 2010

я новичок в javascript, поэтому в этом примере существует geometrycontrols.js (для глобальных элементов управления) и markercontrol.js (для элементов управления маркером)

моя проблема заключается в определениимассивы, в которых сохраняются «данные» ...

по ссылке. Я вижу функцию сохраненных данных, но я не знаю, как работать с этой функцией ...

с другой стороны, в тесте..html, если у меня есть выход при запуске Glog и выводит «данные», и позвольте мне думать, что это происходит из массива ...

Моя цель - сохранить координаты и другие все атрибуты в базе данных mysql, икогда я обнаруживаю, где «данные» - самая легкая часть.

, если кто-то работал с этим примером (или нет), может помочь мне, я благодарен

ps: я действительно новичокна JavaScript: P

edit1: я был на некоторое время, и теперь я сосредоточен на geometrycontrols.js особенно в: GeometryControls.prototype.saveData = function(opts){ var me = this; if(opts.allData === true){ //me.saveAllData(); } else { //construct a json data record var geomInfo = opts.geomInfo, index = opts.geomInfo.index; var record = geomInfo.storage[index];<br> var recordJSON = {}; recordJSON.type = record.type; recordJSON.coordinates = [];

//determine geometry type, and copy geometry appropriately
if(record.type === "point"){
  recordJSON.coordinates.push({lat:record.geometry.getLatLng().lat(),lng:record.geometry.getLatLng().lng()});
 alert(recordJSON.coordinates);
} else {
    alert("is not point");
  var vertex;
  for(var i=0;i<record.geometry.getVertexCount();i++){
    vertex = record.geometry.getVertex(i);
    recordJSON.coordinates.push({lat:vertex.lat(),lng:vertex.lng()});

  }

}

//add title and description
recordJSON.title = record.title[0];
recordJSON.description = record.description[0];

//TODO add styles 
recordJSON.style = ""; //TODO}  //TODO Make separate prototype function?function postData(data){
//TODO 
me.debug(data);
//alert(recordJSON.coordinates);
//alert(data);
};postData(me.serialize(recordJSON));}; `

Когда я оповещаю (recordJSON.coordinates)результат - [объект объекта], и я понятия не имею, почему в теории этот массивв координатах ...

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Вот код, который я использовал для отправки данных в MySQL. Он использует немного jQuery для создания магии ajax (строка, начинающаяся с доллара, называется jQuery).

function postData(data){
me.debug(data);      
var dataString = JSON.stringify(data);   
me.debug(dataString);
$.post('storage.php', { data: dataString });   
}; 
postData(recordJSON);

Как вы можете видеть, я немного изменил способ, которым объект 'recordJSON' также отправляется в функцию postData: я удалил функцию сериализации.

Затем создайте файл PHP (в моем случае он называется «storage.php») и поместите его в него:

<?php
$received = json_decode($_POST['data'], true);
echo "just received " . $received['name'];
?>

Теперь у вас есть массив в PHP, который вы можете использовать по своему усмотрению.

В приведенном выше примере кода я немного изменил функцию post jQuery, поэтому, если она не работает, посмотрите там.

0 голосов
/ 21 июня 2010

Данные хранятся в формате JSON в этом файле: http://gmaps -utility-library-dev.googlecode.com / svn / trunk / geometrycontrols / examples / data / testdata.js - это в значительной степени самодокументируемый, просто следуйте примеру, чтобы установить свои координаты.

Обратите внимание, что если вам нужно найти широту и долготу для данного адреса, это хороший сайт: http://itouchmap.com/latlong.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...