Помогиде по Yandex maps API

vandamme
На сайте с 30.11.2008
Offline
675
1577

вот карта http://dev.drupalworld.ru/php2.php

в самом верху мы выводим

<?php print $coordinaty ?>

и перед ним естественно вычисляется сама переменная $coordinaty

вот думаю, нельзя ли как то средствами яндекс карт заполучить координаты города? чтобы вставить в map.setCenter

тут использован такой код

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php
$adress = "Макеевка";
$key = "AMJMJlABAAAAYi-0fAMAKInBMYzPnHIyMOgm2B9daJL4A_cAAAAAAAAAAAD12l8CuQ5XPGovQoc-7KRUFR4ImQ==";
$adress1=urlencode($adress);
$url="http://geocode-maps.yandex.ru/1.x/?geocode=".$adress1."&key=".$key;
$content=file_get_contents($url);
preg_match('/<pos>(.*?)<\/pos>/',$content,$point);
$coordinaty=str_replace(' ',', ',trim(strip_tags($point[1])));
//echo $coordinaty;
?>

<!-- Контейнер под карту -->
<div id="YMapsID" style="width:600px;height:450px"></div>

<!-- Подключение библиотеки карты -->
<script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key=AMJMJlABAAAAYi-0fAMAKInBMYzPnHIyMOgm2B9daJL4A_cAAAAAAAAAAAD12l8CuQ5XPGovQoc-7KRUFR4ImQ==&amp;modules=plainstyle"></script>
<script type="text/javascript">
var map = new YMaps.Map(document.getElementById("YMapsID")); // создаем объект карты в элементе с айди 'test-map'
map.setCenter(new YMaps.GeoPoint(<?php print $coordinaty ?>), 12); // центр карты (широта, долгота) и текущий уровень увеличения

// кнопки и шкала масштаба располагаем как хотим
map.addControl(new YMaps.Zoom(),
new YMaps.ControlPosition(
YMaps.ControlPosition.TOP_LEFT, // в какой угол поставить
new YMaps.Size (5, 5) // сколько от него отступ в пикселах (x, y)
)
);

// Включаем масштабирование скроллингом мыши
map.enableScrollZoom();

// выбор типа карты
map.addControl(new YMaps.TypeControl());

// линейка с расстоянием
map.addControl(new YMaps.ScaleLine(),
new YMaps.ControlPosition(
YMaps.ControlPosition.BOTTOM_LEFT,
new YMaps.Size (5, 20)
)
);

// Тулбар
map.addControl(new YMaps.ToolBar(),
new YMaps.ControlPosition(
YMaps.ControlPosition.TOP_LEFT,
new YMaps.Size (250, 5)
)
);

// Добавляем метку в координаты, полученные по указанному адресу
var geocoder = new YMaps.Geocoder("Макеевка, ул. Таежная, д. 1");

YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
var geoCoords = geocoder.get(0).getGeoPoint(),
geoPlacemark = new YMaps.Placemark(geoCoords);
geoPlacemark.name = "Гео метка имя";
geoPlacemark.description = "Гео метка описание";
map.addOverlay(geoPlacemark);
});

// Добавляем метку в координаты, полученные по указанному адресу
var geocoder = new YMaps.Geocoder("Макеевка, ул. Ленина, 117");
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
var geoCoords = geocoder.get(0).getGeoPoint(),
geoPlacemark = new YMaps.Placemark(geoCoords);
geoPlacemark.name = "Гео метка 2";
geoPlacemark.description = "Гео метка описание 2";
map.addOverlay(geoPlacemark);
});

// Добавляем метку в координаты, полученные по указанному адресу
var geocoder = new YMaps.Geocoder("Макеевка, ул. Свердлова, 64");
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
var geoCoords = geocoder.get(0).getGeoPoint(),
geoPlacemark = new YMaps.Placemark(geoCoords);
geoPlacemark.name = "Гео метка 2";
geoPlacemark.description = "Гео метка описание 2";
map.addOverlay(geoPlacemark);
});

// Добавляем метку в координаты, полученные по указанному адресу
var geocoder = new YMaps.Geocoder("Макеевка, ул. Генерала Данилова 71/1");
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
var geoCoords = geocoder.get(0).getGeoPoint(),
geoPlacemark = new YMaps.Placemark(geoCoords);
geoPlacemark.name = "Гео метка 2";
geoPlacemark.description = "Гео метка описание 2";
map.addOverlay(geoPlacemark);
});

</script>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий