Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Agassy
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 5
1

MapView. API Key2. Карта не отображается

22.10.2014, 16:52. Просмотров 880. Ответов 2
Метки нет (Все метки)

Здравия всяк сюда входящему!
Тема - Освоение картографии на Android. Reverse Geocding.

IDE - Eclipse Version: 4.2.1.v20130118-173121
ADT - ...x86-20140702
Cellurlar TelePhone - Samsung 7652

Имеем следующий код:

-main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <TextView
    android:id="@+id/myLocationText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
  />
  <com.google.android.maps.MapView
    android:id="@+id/myMapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="AIza xxx RBS4"
  />
- Manifest.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.paad.whereami">
  <application 
    android:icon="@drawable/icon">
    <uses-library android:name="com.google.android.maps"/>
    <activity 
      android:name=".WhereAmI"
      android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>
- Activity
Java
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
62
63
64
65
66
67
68
69
70
71
72
package com.paad.whereami;
 
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;
import android.location.Location;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;
 
public class MyPositionOverlay extends Overlay {
 
  private final int mRadius = 5;
 
  Location location;
 
  public Location getLocation() {
    return location;
  }
  public void setLocation(Location location) {
    this.location = location;
  }
    
  @Override
  public boolean onTap(GeoPoint point, MapView mapView) {
    return false;
  }
  
  @Override
  public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    Projection projection = mapView.getProjection();
 
    if (shadow == false) {
      // Get the current location    
      Double latitude = location.getLatitude()*1E6;
      Double longitude = location.getLongitude()*1E6;
      GeoPoint geoPoint; 
      geoPoint = new 
        GeoPoint(latitude.intValue(),longitude.intValue());
 
      // Convert the location to screen pixels     
      Point point = new Point();
      projection.toPixels(geoPoint, point);
 
      RectF oval = new RectF(point.x - mRadius, point.y - mRadius, 
                             point.x + mRadius, point.y + mRadius);
 
      // Setup the paint
      Paint paint = new Paint();
      paint.setARGB(250, 255, 255, 255);
      paint.setAntiAlias(true);
      paint.setFakeBoldText(true);
 
      Paint backPaint = new Paint();
      backPaint.setARGB(175, 50, 50, 50);
      backPaint.setAntiAlias(true);
 
      RectF backRect = new RectF(point.x + 2 + mRadius, 
                                 point.y - 3*mRadius,
                                 point.x + 65, point.y + mRadius);
 
      // Draw the marker    
      canvas.drawOval(oval, paint);
      canvas.drawRoundRect(backRect, 5, 5, backPaint);
      canvas.drawText("Here I Am", 
                      point.x + 2*mRadius, point.y, 
                      paint);
    }
    super.draw(canvas, mapView, shadow);
  }
Ключ, выпущен на дебажном сертификате:


Включен только! - Google Maps Android API v2.

В итоге, координаты и адрес определяются и отображаются верно!
Делаю вывод, что google-play-services установлен правильно и работает, связь с интернетом есть!

Но карта не отображается!

Помогите, пожалуйста понять, что делаю не так?

Заранее благодарен!

пс. Мелькала инфа, что Google, переходит на API v3, которая не требует ключа, может быть уже настал тот самый миг?
0
Миниатюры
MapView. API Key2. Карта не отображается   MapView. API Key2. Карта не отображается   MapView. API Key2. Карта не отображается  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2014, 16:52
Ответы с готовыми решениями:

Google Maps API v2. Не отображается карта
Доброго времени суток. На днях решил поработать с Google API Maps. И столкнулся...

Динамическое задание ключа google-Api для MapView
Всем привет. Создаю MapView при помощи xml разметки. Там в атрибутах указываю...

Google Maps не отображается карта после сборки apk
Добрый день. Помогите пожалуйста советом. Написал приложение с использованием...

MapView в CardView RecyclerAdapter
Добрый день! Необходимо отобразить карту Google в CardView. Отображается только...

Маркер по центру MapView googleMap
В некоторых приложениях есть возможность на карте указать свое местоположение....

2
Agassy
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 5
23.10.2014, 11:23  [ТС] 2
Всем привет!
Сегодня выпустил, подписал и пр., ключ отличный от дебажного, а именно release...
Картина печальна, т.е. прежняя!
Карта не отображается

Ни кто, ни кто не сталкивался, с подобным???

пс Уже пару недель брожу по интеу, в поисках...
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,732
23.10.2014, 12:39 3
Agassy, здравствуй!
Недавно сталкивался с такой проблемой, тоже долго мучался, но решил её коллега, поэтому решение не подскажу.
Мне кажется, у вас используется Map v1, потому что вы используете MapView (в XML). Более правильно было бы использовать так:
XML
1
2
3
4
5
        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
или так:
XML
1
2
3
4
5
        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.MapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
После этого надо будет поискать по указанному коду решение на stackoverflow и других сайтах.
Дальше во время запуска программы карта отображаться не будет. Требуется подписывать release-ключом и делать ещё как-то шаманство (создавать пару ключей командной стройкой), а затем выпускать подписанный APK и устанавливать на устройство (например, через команду adb install путь_к_файлу.apk).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2014, 12:39

Подскажите по MapView (событие загрузки карты)
Здравствуйте! Может тут кто знает, как перехватить событие загрузки карты? Т.е....

Как получить экранные и геокоординаты по клику по MapView в yandex mapkit?
Как получить экранные и геокоординаты по клику по MapView в yandex mapkit?...

Не отображается карта
Почему не работает в любом браузере отображается по кодам сайта ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru