Не могу заставить это работать на всю жизнь, и я не могу понять, почему.
Хорошо…
На WordPress пост у меня есть настраиваемое поле «Почтовый индекс». У меня есть скрипт, который берет значение этого поля, запускает его за пределами Google, чтобы получить значения Lat и Long, и внедряет карту. Вот что у меня есть:
$postcode = urlencode( get_field("tutor_post_code")); // post code to look up in this case status however can easily be retrieved from a database or a form post
$request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$postcode."&sensor=true"; // the request URL you'll send to google to get back your XML feed
$xml = simplexml_load_file($request_url) or die("url not loading");// XML request
$status = $xml->status;// GET the request status as google's api can return several responses
if ($status=="OK") {
//request returned completed time to get lat / lang for storage
$lat = $xml->result->geometry->location->lat;
$long = $xml->result->geometry->location->lng;
echo "$lat,$long"; //spit out results or you can store them in a DB if you wish
}
if ($status=="ZERO_RESULTS") {
//indicates that the geocode was successful but returned no results. This may occur if the geocode was passed a non-existent address or a latlng in a remote location.
}
if ($status=="OVER_QUERY_LIMIT") {
//indicates that you are over your quota of geocode requests against the google api
}
if ($status=="REQUEST_DENIED") {
//indicates that your request was denied, generally because of lack of a sensor parameter.
}
if ($status=="INVALID_REQUEST") {
//generally indicates that the query (address or latlng) is missing.
}echo '<iframe width="100%" height="400" frameborder="0" style="border:0" src="https://www.google.com/maps/embed/v1/place?q=';
echo get_field("tutor_post_code");
echo '&zoom=13¢er=';
echo "$lat,$long";
echo '&key=AIzaSyB8LLFEJV_Or1sj_u1PGKw12n6leDKND3o"></iframe>';
Любые идеи, почему он не центрирует маркер на карте?
Miro
Я попробовал ваш код, и он, кажется, работает нормально.
Одна возможность http://maps.googleapis.com/maps/api/geocode/xml?address=
возвращает другой результат, чем ваш iframe Google Maps. (Это случается когда-нибудь.)
Как сказал @ Dr.Molle, вам не нужно делать центрирование, так как по умолчанию центрируется q
точка, если вы не хотите другой центр.
Других решений пока нет …