- Сообщений: 47
- Спасибо получено: 0
Google карта в постах форума
- АлексейК
- Автор темы
- Не в сети
- Захожу иногда
-
Less
Больше
11 года 11 мес. назад #11
от АлексейК
АлексейК ответил в теме Google карта в постах форума
Поймалась, зараза! В той же папке, файл bbcode.php.
Теперь надо придумать, что с этим сделать... :huh:// Display only link in activity streams etc..
if (!empty($bbcode->parent->forceMinimal) || !($document instanceof JDocumentHTML)) {
$url = ' maps.google.com/?q='.urlencode ($bbcode->UnHTMLEncode($content));
return '<a href="'.$url.'" rel="nofollow" target="_blank">'.$content.'</a>';
}
if ($id === false) {
$document->addScript(' maps.google.com/maps/api/js?sensor= '.($sensor == true ? 'true' : 'false'));
$id = 0;
}
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- АлексейК
- Автор темы
- Не в сети
- Захожу иногда
-
Less
Больше
- Сообщений: 47
- Спасибо получено: 0
11 года 8 мес. назад #12
от АлексейК
АлексейК ответил в теме Google карта в постах форума
Продолжаю борьбу с кривой картой. Пришёл к выводу, что собака покопалась вот именно в этой строчке:
maps.google.com/maps/api/js?sensor='.($sensor == true ? 'true' : 'false'));
Кунена использует безключевую, версию гугл-мап, от сего и ущербность.
Вот как выглядит эта строка в рекомендациях от картографического сервиса Гугл:
maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
Как я понимаю, для использования нормальной карты, надо использовать бесплатный API-ключ от Гугла.
Подробнее тут: ссылка
Причём, что интересно, при использовании соответствующего ключа, можно вставлять весь спектр приложений Гугл этого направления - Гугл энджен, Гугл-трек, и т.п. (см. список ключей на их страничке).
Остается как-то нормально вписать это в файл bbcode.php, где все танцы вокруг карты начинаются с 1058 строчки.
Я совершенно беспомощен в PHP, но буду пробовать. Буду признателен за помощь.
maps.google.com/maps/api/js?sensor='.($sensor == true ? 'true' : 'false'));
Кунена использует безключевую, версию гугл-мап, от сего и ущербность.
Вот как выглядит эта строка в рекомендациях от картографического сервиса Гугл:
maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
Как я понимаю, для использования нормальной карты, надо использовать бесплатный API-ключ от Гугла.
Подробнее тут: ссылка
Причём, что интересно, при использовании соответствующего ключа, можно вставлять весь спектр приложений Гугл этого направления - Гугл энджен, Гугл-трек, и т.п. (см. список ключей на их страничке).
Остается как-то нормально вписать это в файл bbcode.php, где все танцы вокруг карты начинаются с 1058 строчки.
Я совершенно беспомощен в PHP, но буду пробовать. Буду признателен за помощь.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- АлексейК
- Автор темы
- Не в сети
- Захожу иногда
-
Less
Больше
- Сообщений: 47
- Спасибо получено: 0
11 года 8 мес. назад - 11 года 8 мес. назад #13
от АлексейК
АлексейК ответил в теме Google карта в постах форума
Ага, ну в принципе ничего жуткого. Получив нужный API, я немного переписал файлик, и стала вставляться несколько иная карта. Причем ее параметры можно менять, это не сложно.
Но вот беда с неверным размещением маркера на карте, по координатам вписанным между терами - осталась.
Маркер по прежнему убегает к ближайшей трассе или населенному пункту, никак не желая ставиться "в чистом поле".
Не ужели баг в прописке отображения координат? :blink:
Да и вообще, честно говоря, не доработка какая-то. Нажимаем кнопку "ссылка", к примеру, и получаем два окошка - одно для вставки урла, второе - для вписания его названия.
Не ужели нельзя было при нажатии кнопки "Карта" сделать такие же два окошка - в одном "ввод координат/адреса" во втором - название маркера, а не мучать пользователя изобретательством между терами map ?!
Но вот беда с неверным размещением маркера на карте, по координатам вписанным между терами - осталась.
Маркер по прежнему убегает к ближайшей трассе или населенному пункту, никак не желая ставиться "в чистом поле".
Не ужели баг в прописке отображения координат? :blink:
Да и вообще, честно говоря, не доработка какая-то. Нажимаем кнопку "ссылка", к примеру, и получаем два окошка - одно для вставки урла, второе - для вписания его названия.
Не ужели нельзя было при нажатии кнопки "Карта" сделать такие же два окошка - в одном "ввод координат/адреса" во втором - название маркера, а не мучать пользователя изобретательством между терами map ?!
Последнее редактирование: 11 года 8 мес. назад пользователем АлексейК.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- АлексейК
- Автор темы
- Не в сети
- Захожу иногда
-
Less
Больше
- Сообщений: 47
- Спасибо получено: 0
11 года 8 мес. назад #14
от АлексейК
АлексейК ответил в теме Google карта в постах форума
Да, действительно, недоработка есть. Правильней - упрощение. Вот фрагмент кода, отвечающего за наложение маркера на подгружаемую карту:
Видно, что применена библиотека геокодера, и ни строчки об отображении точки (point) по заданным координатам.
Геокодер преобразует координаты введенные пользователем между терами map в точку, наиболее приближенную к известным библиотеке объектам. Соответственно, "в чистом поле" какие не тыкай координаты, точки не будет.
Надо дописывать код, для точного отображения маркером введенных координат.
Code:
$document->addScriptDeclaration("
// <![CDATA[
var geocoder;
var $mapid;
window.addEvent('domready', function() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(37.333586,-121.894684);
var myOptions = {
zoom: $map_zoom,
disableDefaultUI: $map_control,
center: latlng,
mapTypeId: google.maps.MapTypeId.$map_type
};
$mapid = new google.maps.Map(document.id('".$mapid."'), myOptions);
var address = ".json_encode($content).";
if (geocoder) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$mapid.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: $mapid
});
Геокодер преобразует координаты введенные пользователем между терами map в точку, наиболее приближенную к известным библиотеке объектам. Соответственно, "в чистом поле" какие не тыкай координаты, точки не будет.
Надо дописывать код, для точного отображения маркером введенных координат.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.