Попытка поместить опубликованную переменную php в переменную javascript, чтобы можно было отобразить ее на googlemap. - PullRequest
2 голосов
/ 24 марта 2011

Привет! Я разместил два значения для latitute и longitute на странице php с помощью формы, затем на странице php я отображаю googlemap и хочу использовать два значения, которые я опубликовал, в качестве широты и longitute для отображения на карте.,Я думаю, что я все сделал правильно, но, похоже, он не подхватывает ценности. Есть идеи?ура!

<script type="text/javascript">

function initialize() {


var lat= "<?php echo $_POST['coordinates']; ?>";
var long= "<?php echo $_POST['coordinatestwo']; ?>";



var latlng = new google.maps.LatLng(lat,long);
var myOptions = {
  zoom: 8,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

    var marker = new google.maps.Marker({
                position: latlng,
                map: map,
                title: "Your current location!"
        });

        }


   </script>

   </head>
   <body onLoad="initialize();">

Ответы [ 4 ]

1 голос
/ 24 марта 2011

long - зарезервированное слово в JavaScript. Вместо этого попробуйте lng (без 'o') в качестве имени переменной.

var lng= "<?php echo $_POST['coordinatestwo']; ?>";

Если вы view source в своем браузере, вы видите там значения php? Если нет, то с вашей формой что-то не так. Нам нужно увидеть больше кода.

Но, скорее всего, это long зарезервированное слово, о котором я упоминал выше.

0 голосов
/ 24 марта 2011

@ Пол Эллиот: Это не похоже на весь твой код ..? Посмотрите этот пример, чтобы заполнить биты, в которых отсутствует ваш код: http://code.google.com/apis/maps/documentation/javascript/examples/map-simple.html

0 голосов
/ 24 марта 2011

У меня есть рабочий jsFiddle:

http://jsfiddle.net/rcravens/RFHKd/

В основном ваш код.Я добавил следующее:

  1. Div с идентификатором map_canvas
  2. Стиль для этого div, задающий его ширину и высоту.
  3. Включен скрипт длязагрузить карты Google.

Надеюсь, это поможет.

Боб

0 голосов
/ 24 марта 2011

Не используйте long в качестве имени переменной (это зарезервированное слово ).Кроме того, вам не нужны кавычки вокруг числовых значений.Попробуйте это:

var lat = <?php echo floatval($_POST['coordinates']); ?>;
var lng = <?php echo floatval($_POST['coordinatestwo']); ?>;

EDIT : Совет. Если вы используете (хороший) редактор с подсветкой цвета и проверкой синтаксиса для JavaScript, эта ошибка будет выделена (мои отчеты: " строгое предупреждение: long - это идентификатор резервера ").

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