Это форк Vinaora Nivo Slider, пришлось переименовать, в силу требования JED. Даже старую версию качать можно было только с варезных сайтов, нашпигованную троянами. Зачем оно такое, согласитесь.
<!DOCTYPE html>
<html>
<head>
<title>Погода по ip на Яндекс-картах</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
include("SxGeo.php");
$SxGeo = new SxGeo('SxGeoCity.dat');
$city = $SxGeo->get($ip);
$loc_array = array($city['city']['lat'],$city['city']['lon']);
$api_key="VASH_API_KEY_WWO";
$num_of_days=1;
$loc_safe = array();
foreach($loc_array as $loc){
$loc_safe[] = urlencode($loc);
}
$loc_string=implode(',', $loc_safe);
//To add more conditions to the query, just lengthen the url string
$basicurl = sprintf('http://api.worldweatheronline.com/free/v1/weather.ashx?key=%s&q=%s&num_of_days=%s', $api_key, $loc_string, intval($num_of_days));
$xml_response = file_get_contents($basicurl);
$xml = simplexml_load_string($xml_response);
$ss = array();
foreach ($xml[0] as $name => $val) {
foreach ($val as $name1 => $val1)
{
$ss[$name1] = $val1;
}
}
?>
<script type="text/javascript">
ymaps.ready(function () {
myMap = new ymaps.Map('map', {
zoom: 8,
center: [<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>]
});
var myPlacemark = new ymaps.Placemark([<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>], {
balloonContent: '<? echo "Температура {$ss["temp_C"]} С";echo "<br>"; echo "Скорость ветра {$ss["windspeedKmph"]} м/сек"; echo "<br>"; echo "Направление ветра {$ss["winddirection"]}"; echo "<br>";echo $ss["weatherDesc"]; ?>'
}, {
balloonPanelMaxMapArea: 0
});
observeEvents(myMap);
myMap.geoObjects.add(myPlacemark);
myPlacemark.balloon.open();
});
function observeEvents (map) {
var mapEventsGroup,
mapBalloonEventsGroup = map.balloon.events
// При открытии балуна начинаем слушать изменение центра карты.
.add('open', function (e1) {
var placemark = e1.get('target');
// Вызываем функцию в двух случаях:
mapEventsGroup = map.events.group()
// 1) в начале движения (если балун во внешнем контейнере);
.add('actiontick', function (e2) {
if (placemark.options.get('balloonPane') == 'outerBalloon') {
setBalloonPane(placemark, e2.get('tick'));
}
})
// 2) в конце движения (если балун во внутреннем контейнере).
.add('actiontickcomplete', function (e2) {
if (placemark.options.get('balloonPane') != 'outerBalloon') {
setBalloonPane(placemark, e2.get('tick'));
}
});
// Вызываем функцию сразу после открытия.
setBalloonPane(placemark);
})
// При закрытии балуна удаляем слушатели.
.add('close', function () {
mapEventsGroup.removeAll();
});
}
function setBalloonPane (placemark, mapData) {
mapData = mapData || {
globalPixelCenter: myMap.getGlobalPixelCenter(),
zoom: myMap.getZoom()
};
var mapSize = myMap.container.getSize(),
mapBounds = [
[mapData.globalPixelCenter[0] - mapSize[0] / 2, mapData.globalPixelCenter[1] - mapSize[1] / 2],
[mapData.globalPixelCenter[0] + mapSize[0] / 2, mapData.globalPixelCenter[1] + mapSize[1] / 2]
],
balloonPosition = placemark.balloon.getPosition(),
// Используется при изменении зума.
zoomFactor = Math.pow(2, mapData.zoom - myMap.getZoom()),
// Определяем, попадает ли точка привязки балуна в видимую область карты.
pointInBounds = ymaps.util.bounds.contains(mapBounds, [
balloonPosition[0] * zoomFactor,
balloonPosition[1] * zoomFactor
]),
isInOutersPane = placemark.options.get('balloonPane') == 'outerBalloon';
// Если точка привязки не попадает в видимую область карты, переносим балун во внутренний контейнер
if (!pointInBounds && isInOutersPane) {
placemark.options.set({
balloonPane: 'balloon',
balloonShadowPane: 'shadows'
});
// и наоборот.
} else if (pointInBounds && !isInOutersPane) {
placemark.options.set({
balloonPane: 'outerBalloon',
balloonShadowPane: 'outerBalloon'
});
}
}
</script>
<style>
#map {
width: auto;
height: 350px;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
beginner пишет: Прикольно, прикольно. А Worldweatheronline это европейцы или американцы?
<!DOCTYPE html>
<html>
<head>
<title>Погода по ip и лично для вас</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
include("SxGeo.php");
$SxGeo = new SxGeo('SxGeoCity.dat');
$city = $SxGeo->get($ip);
$loc_array = array($city['city']['lat'],$city['city']['lon']);
$api_key="VASH_API_KEY_WWO";
$num_of_days=1;
$loc_safe = array();
foreach($loc_array as $loc){
$loc_safe[] = urlencode($loc);
}
$loc_string=implode(',', $loc_safe);
$basicurl = sprintf('http://api.worldweatheronline.com/free/v1/weather.ashx?key=%s&q=%s&num_of_days=%s', $api_key, $loc_string, intval($num_of_days));
$xml_response = file_get_contents($basicurl);
$xml = simplexml_load_string($xml_response);
?>
<script type="text/javascript">
ymaps.ready(function () {
myMap = new ymaps.Map('map', {
zoom: 8,
center: [<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>]
});
var myPlacemark = new ymaps.Placemark([<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>], {
balloonContent: '<? echo 'Температура '. ($xml->current_condition->temp_C). ' °C';echo "<br>"; echo 'Скорость ветра '. ($xml->current_condition->windspeedKmph). ' км/час'; echo "<br>"; echo 'Направление ветра '. ($xml->current_condition->winddir16Point); echo "<br>";echo ($xml->current_condition->weatherDesc); ?>'
}, {
balloonPanelMaxMapArea: 0
});
observeEvents(myMap);
myMap.geoObjects.add(myPlacemark);
myPlacemark.balloon.open();
});
function observeEvents (map) {
var mapEventsGroup,
mapBalloonEventsGroup = map.balloon.events
// При открытии балуна начинаем слушать изменение центра карты.
.add('open', function (e1) {
var placemark = e1.get('target');
// Вызываем функцию в двух случаях:
mapEventsGroup = map.events.group()
// 1) в начале движения (если балун во внешнем контейнере);
.add('actiontick', function (e2) {
if (placemark.options.get('balloonPane') == 'outerBalloon') {
setBalloonPane(placemark, e2.get('tick'));
}
})
// 2) в конце движения (если балун во внутреннем контейнере).
.add('actiontickcomplete', function (e2) {
if (placemark.options.get('balloonPane') != 'outerBalloon') {
setBalloonPane(placemark, e2.get('tick'));
}
});
// Вызываем функцию сразу после открытия.
setBalloonPane(placemark);
})
// При закрытии балуна удаляем слушатели.
.add('close', function () {
mapEventsGroup.removeAll();
});
}
function setBalloonPane (placemark, mapData) {
mapData = mapData || {
globalPixelCenter: myMap.getGlobalPixelCenter(),
zoom: myMap.getZoom()
};
var mapSize = myMap.container.getSize(),
mapBounds = [
[mapData.globalPixelCenter[0] - mapSize[0] / 2, mapData.globalPixelCenter[1] - mapSize[1] / 2],
[mapData.globalPixelCenter[0] + mapSize[0] / 2, mapData.globalPixelCenter[1] + mapSize[1] / 2]
],
balloonPosition = placemark.balloon.getPosition(),
// Используется при изменении зума.
zoomFactor = Math.pow(2, mapData.zoom - myMap.getZoom()),
// Определяем, попадает ли точка привязки балуна в видимую область карты.
pointInBounds = ymaps.util.bounds.contains(mapBounds, [
balloonPosition[0] * zoomFactor,
balloonPosition[1] * zoomFactor
]),
isInOutersPane = placemark.options.get('balloonPane') == 'outerBalloon';
// Если точка привязки не попадает в видимую область карты, переносим балун во внутренний контейнер
if (!pointInBounds && isInOutersPane) {
placemark.options.set({
balloonPane: 'balloon',
balloonShadowPane: 'shadows'
});
// и наоборот.
} else if (pointInBounds && !isInOutersPane) {
placemark.options.set({
balloonPane: 'outerBalloon',
balloonShadowPane: 'outerBalloon'
});
}
}
</script>
<style>
#map {
width: auto;
height: 350px;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
.ymaps-2-1-29-balloon__layout {
width: 220px;
}
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
<!DOCTYPE html>
<html>
<head>
<title>Погода по ip на Яндекс-картах</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
include("SxGeo.php");
$SxGeo = new SxGeo('SxGeoCity.dat');
$city = $SxGeo->get($ip);
$loc_array = array($city['city']['lat'],$city['city']['lon']);
$api_key="********************************************";
$num_of_days=1;
$loc_safe = array();
foreach($loc_array as $loc){
$loc_safe[] = urlencode($loc);
}
$loc_string=implode(',', $loc_safe);
$basicurl = sprintf('http://api2.worldweatheronline.com/free/v2/weather.ashx?key=%s&q=%s&num_of_days=%s', $api_key, $loc_string, intval($num_of_days));
$xml = simplexml_load_file($basicurl);
?>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<div class="yandex_map" id="yandex_map">
<script type="text/javascript">
var myMap;
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
center: [<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>],
zoom: 8,
controls: ['zoomControl','fullscreenControl']
});
myPlacemark = new ymaps.Placemark([<?= $city['city']['lat']?>,<?= $city['city']['lon'] ?>], {
balloonContent: '<? echo 'Температура '. ($xml->current_condition->temp_C). ' °C';echo "<br>"; echo 'Скорость ветра '. ($xml->current_condition->windspeedKmph). ' км/час'; echo "<br>"; echo 'Направление ветра '. ($xml->current_condition->winddir16Point); echo "<br>";echo ($xml->current_condition->weatherDesc); ?>'});
myMap.geoObjects
.add(myPlacemark);
myPlacemark.balloon.open();
}
</script>
<div id="map" style="width:auto; height:350px"></div>
</div>
</head>
<body>
<div id="map"></div>
</body>
</html>
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
uvlecheniehobby.ru пишет: у меня ваш код не работает здесь какието бувы и цифры а карты нет
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
uvlecheniehobby.ru пишет: то есть я всё правильно делаю-копирую код и вставляю в хидер или футер.
$api_key="VASH_API_KEY_WWO";
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.