Проблема в открывающем теге.Вы используете недопустимый тег:
<? php
(обратите внимание на пробел между вопросом и ключевым словом PHP).
Вам необходимо изменить его на правильный открывающий тег PHP, например:
<?php
Кроме того, в коде вы должны повторить переменные, потому что вы ничего не делаете с ним.
var userLocation = {lat:<?php echo $coords[user_lat]; ?>, lng: <?php echo $coords[user_long]; ?>};
((EDIT))
Хорошо, делая новую редакцию кода, я вижу по крайней мере одну проблему:
Вы создаете POI с этим синтаксисом:
var userLocation = {lat:$coords[user_lat], lng:$coords[user_long]};
var marker = new google.maps.Marker({
position:userLocation,
map:Map,
draggable:false,
clickable:false
});
Проверкав моем собственном коде есть функциональный код добавления poi:
newmarker = new google.maps.Marker({
map: map,
key: marker[0],
name: marker[1],
lat: marker[3],
lon: marker[4],
content: marker[9],
position: new google.maps.LatLng(marker[3], marker[4]),
icon: icon
});
Возможно, большая часть кода (ключ, имя и т. д.) являются необязательными значениями, но вы добавляете массив к значению позиции,а не значение LatLng.
Если этот код не работает, пожалуйста, проверьте ваш HTML-код напрямую (не на PHP), потому что в коде может быть что-то странное, блокирующее процесс загрузки (например, phpнеправильно заполняет значения).