Здравствуйте.
Я хочу центрировать карту гугл по городу, где проживает пользователь ВК, запустившый приложение. Карту я создала. Даже центрировала её для проверки. Город я нашла, даже вывела его в <div>, но вот передать название в функцию центрирующую карту я не могу. Видимо я чего-то не знаю о глобальных переменных. Долго искала решение в интернете. Помогите, пожалуйста решить проблему. Передать мне нужно переменную city_name, в функцию showCity();
CSS |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| html {
height: 600px;
width: 800px;}
body {
height: 100%;
margin: 0;
padding: 0 }
a:link {
color: #000000;}
a:visited {
color: #000000;}
#map_canvas {
height: 100%;
width: 100%;
z-index: 0;}
#FON {
background: #FFFFFF;
opacity: 0.7;
height: 150px;
width: 800px;
position:absolute;
top: 450px;
z-index: 1;} |
|
HTML5 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| <!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="style.css"/>
<script src="http://vk.com/js/api/xd_connection.js?2" type="text/javascript"></script>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyBduORj87wd3MpVBKJDFFGSWJgimiqta1Q&sensor=false">
</script>
</head>
<body onload="initialize()">
<script type="text/javascript">
var city_name ;
VK.init(function() {
// узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars
var parts=document.location.search.substr(1).split("&");
var flashVars={}, curr;
for (i=0; i<parts.length; i++) {
curr = parts[i].split('=');
// записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;
flashVars[curr[0]] = curr[1];
}
// получаем viewer_id из полученных переменных
var viewer_id = flashVars['viewer_id'];
VK.api("users.get", {uids:viewer_id,fields:"city, country"}, function(data) {
var city = data.response[0].city;
VK.api("places.getCityById", {cids:city}, function(data) {
city_name = data.response[0].name;
document.getElementById('FON').innerHTML = city_name;
});
});
})
function initialize() {
var geocoder = new google.maps.Geocoder();
var mapOptions = {
center: new google.maps.LatLng(55.7522, 37.6156),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
function showCity(address)
{
geocoder.geocode({'address':address}, function(results, status)
{
if( status == google.maps.GeocoderStatus.OK ) {
map.setCenter(results[0].geometry.location);
}
});
}
showCity(city_name);
}
</script>
<div id="map_canvas"></div>
<div id="FON"></div>
</body>
</html> |
|