Added Google Maps sample code (#1671)

* Added Google Maps sample code

* Updated per @domesticmouse review

* Updated dependabot and pubspec for Dart 2.19
pull/1683/head
Anthony Sansone 2 years ago committed by GitHub
parent b52d7f7744
commit 64d10ca175
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -133,6 +133,10 @@ updates:
directory: "game_template/"
schedule:
interval: "daily"
- package-ecosystem: "pub"
directory: "google_maps/"
schedule:
interval: "daily"
- package-ecosystem: "pub"
directory: "infinite_list/"
schedule:

@ -0,0 +1,5 @@
include: package:analysis_defaults/flutter.yaml
analyzer:
exclude:
- lib/src/*.g.dart

@ -0,0 +1,13 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks

@ -0,0 +1,69 @@
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.google_maps_in_flutter"
minSdkVersion 20
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.google_maps_in_flutter">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

@ -0,0 +1,39 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.google_maps_in_flutter">
<application
android:label="google_maps_in_flutter"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<!-- TODO: Add your Google Maps API key here -->
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyBFVI6nt-1Yn_lFYWMidyqUk8ca0eE1Sv8"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>

@ -0,0 +1,6 @@
package com.example.google_maps_in_flutter
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

@ -0,0 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.google_maps_in_flutter">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

@ -0,0 +1,31 @@
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}

@ -0,0 +1,3 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true

@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

@ -0,0 +1,11 @@
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

@ -0,0 +1,901 @@
{
"offices": [
{
"address": "Aabogade 15\n8200 Aarhus\nDenmark",
"id": "aarhus",
"image": "https://lh3.googleusercontent.com/tpBMFN5os8K-qXIHiAX5SZEmN5fCzIGrj9FdJtbZPUkC91ookSoY520NYn7fK5yqmh1L1m3F2SJA58v6Qps3JusdrxoFSwk6Ajv2K88",
"lat": 56.172249,
"lng": 10.187372,
"name": "Aarhus",
"phone": "",
"region": "europe"
},
{
"address": "Claude Debussylaan 34\n1082 MD, Amsterdam\nNetherlands",
"id": "amsterdam",
"image": "https://lh3.googleusercontent.com/gG1zKXcSmRyYWHwUn2Z0MITpdqwb52RAEp3uthG2J5Xl-4_Wz7_WmoM6T_TBg6Ut3L1eF-8XENO10sxVIFdQHilj8iRG29wROpSoug",
"lat": 52.337801,
"lng": 4.872066,
"name": "Amsterdam",
"phone": "",
"region": "europe"
},
{
"address": "2300 Traverwood Dr.\nAnn Arbor, MI 48105\nUnited States",
"id": "ann-arbor",
"image": "https://lh3.googleusercontent.com/Iim0OVcAgg9vmXc5ADn9KvOQFplrMZ8hBTg2biiTtuWPy_r56cy4Byx1ROk6coGt7knQdmx_jO45VX1kiCJZ0QzEtS97AP_BYG4F2w",
"lat": 42.3063848,
"lng": -83.7140833,
"name": "Ann Arbor",
"phone": "+1 734-332-6500",
"region": "north-america"
},
{
"address": "Fragkokklisias 7\nAthens 151 25\nGreece",
"id": "athens",
"image": "https://lh3.googleusercontent.com/XroZnqewSrO6KuvXM5hDHtjUJzUcRQLZYfCKs4jP44dKezRvNx58uxaqUKS4fQ2eXzG2TpJNJ1X2xtfBe7Prl5hSG_xjPEF1xLtFodM",
"lat": 38.03902,
"lng": 23.804595,
"name": "Athens",
"phone": "",
"region": "europe"
},
{
"address": "10 10th Street NE\nAtlanta, GA 30309\nUnited States",
"id": "atlanta",
"image": "https://lh3.googleusercontent.com/py7Qvqqoec1MB0dMKnGWn7ju9wET_dIneTb24U-ri8XAsECJnOaBoNmvfa51PIaC0rlsyQvQXvAK8RdLqpkhpkRSzmhNKqb-tY2_",
"lat": 33.781827,
"lng": -84.387301,
"name": "Atlanta",
"phone": "+1 404-487-9000",
"region": "north-america"
},
{
"address": "500 W 2nd St\nSuite 2900\nAustin, TX 78701\nUnited States",
"id": "austin",
"image": "https://lh3.googleusercontent.com/WFaJgWPdd7xPL7CQHizlqEzLDjT_GUAiWHIWUM0PiVSsv8q3Rjt9QgbyQazuQwYfN5qLORajv8eKSHlKwZo-M89T2Y12zFSxSIme08c",
"lat": 30.266035,
"lng": -97.749237,
"name": "Austin",
"phone": "+1 512-343-5283",
"region": "north-america"
},
{
"address": "No. 3, RMZ Infinity \u2013 Tower E\nOld Madras Road\n4th and 5th Floors\nBangalore, 560 016, India",
"id": "bangalore",
"image": "https://lh3.googleusercontent.com/YDyQevoY-D0eZQ9sYHp8dQjpFF5JpLfLK-0OM-uJK1oNK3_LRnGJAM0uXi9qb9UigKnVIIXlIgidxhRlnaB_FPtUOqPzrsCSiFZyoQ",
"lat": 12.99332,
"lng": 77.660176,
"name": "Bangalore",
"phone": "+91-80-67218000",
"region": "asia-pacific"
},
{
"address": "57 Park Ventures Ecoplex\n14th Floor, Wireless Road\nBangkok, 10330, Thailand",
"id": "bangkok",
"image": "https://lh3.googleusercontent.com/nh9uOUPj6iWjKZSHIrnkfGhIWGBb8thguRM5_ehCOkyF-qfwzYciDJFVRSvQ6QxlSA6eZUMkzgdW9zR0Gab2ZZPg8NlB7V_V3wB5",
"lat": 13.742866,
"lng": 100.547983,
"name": "Bangkok",
"phone": "",
"region": "asia-pacific"
},
{
"address": "6th Floor, Tower B, Raycom InfoTech Park\nNo. 2 Kexueyuan South Road\nZhongguancun Beijing 100190",
"id": "beijing",
"image": "https://lh3.googleusercontent.com/v_tD3VvC8-dnhqSF9xhj5Hx7F_bb3-wieM19i-Ho2C3by6mt7-JpPc7KsYVHUZFqQl5ON3adVEV1N4OlzSvHLrr3sr4GtXErDbGC",
"lat": 39.9848878,
"lng": 116.3265708,
"name": "Beijing",
"phone": "+86-10-62503000",
"region": "asia-pacific"
},
{
"address": "Boulevard Corporate Tower\nAv. dos Andradas, 3000 - Andares 14-17\nSanta Efig\u00eania\nBelo Horizonte\n30260-070, Brazil",
"id": "belo-horizonte",
"image": "https://lh3.googleusercontent.com/f7F8gTi9GSgAZR3lv24I1yb-D0wRlDy0lQTcxCB4yJGtSgxrWdKoB3dX3J8SMrjYLwOSXquO3LuGFUE82QUjzVK9buHGNIRUPGpqM3E",
"lat": -19.920225,
"lng": -43.920845,
"name": "Belo Horizonte",
"phone": "+55-31-2128-6800",
"region": "latin-america"
},
{
"address": "Tucholskystra\u00dfe 2\n10117 Berlin\nGermany",
"id": "berlin",
"image": "https://lh3.googleusercontent.com/XcPyEMiSlLdZJq7nh3orGy3UqjtUHdhxXiwn52ZY47wfEChfZNDO78zDy9H0tBeegogZBZpIE0Q9mdVBGN4aQ0M5vfgz8ZWMEe43Mg",
"lat": 52.5231079,
"lng": 13.39203120000002,
"name": "Berlin",
"phone": "+49 30 303986300",
"region": "europe"
},
{
"address": "Carrera 11A 94 - 45\nCentro Empresarial Oxo Centre\nBogota, Colombia",
"id": "bogota",
"image": "https://lh3.googleusercontent.com/_APoV1zAR0g5_pXVDlT2ovgNQfr3zvjOuj4HFHViiy2ahyjapJMXlYRE48qYMyFTWXJybbK4psz-fQ82QhMhO0keYJ27I8tNTHe_ww",
"lat": 4.678267,
"lng": -74.046901,
"name": "Bogota",
"phone": "+57 (1) 5939400",
"region": "latin-america"
},
{
"address": "2600 Pearl Street\nBoulder, CO 80302\nUnited States",
"id": "boulder",
"image": "https://lh3.googleusercontent.com/lF9KBhOolmb958FFmMdLwFcedQAn1wEsVleBRrJQmyfhvD3u4lwCneR09ADJ9sG4tMBP5LDSLkn9bkbavzyqqql_0X7hj39dzl-n1w",
"lat": 40.021693,
"lng": -105.260139,
"name": "Boulder",
"phone": "+1 303-245-0086",
"region": "north-america"
},
{
"address": "2930 Pearl St\nBoulder, CO 80301\nUnited States",
"id": "boulder-pearl",
"image": "https://lh3.googleusercontent.com/_JvBccdhLZSIxenZEubM2Qu8Eky6udmnwekH7BhjI1EUo8mCDXDHa0Z7mfNzvZtlmiXI6b6w8U-PY47oUQhPtvYazGS4mG8S61Rr",
"lat": 40.021948,
"lng": -105.253978,
"name": "Boulder \u2013 Pearl Place",
"phone": "+1 303-245-0086",
"region": "north-america"
},
{
"address": "3333 Walnut St\nBoulder CO, 80301\nUnited States",
"id": "boulder-walnut",
"image": "https://lh3.googleusercontent.com/nGvIFmh9d2J68l-U7gYdQAqLZkLNNS_pqhNMtGopMujEpZEneMSH75NFr1WmXJC0GafDLyTVSpnqbuj5Tfjjjk889Zk23dIggqNN",
"lat": 40.01993,
"lng": -105.24936,
"name": "Boulder \u2013 Walnut",
"phone": "+1 303-245-0086",
"region": "north-america"
},
{
"address": "Chaussee d'Etterbeek 180\n1040 Brussels\nBelgium",
"id": "brussels",
"image": "https://lh3.googleusercontent.com/Vdcj2ozYBIOyJLAhRyQic7xjw-OfQ_F5b8M9Kaom_56M2zp8UW65Lm1bYJLLEc4_U4tXfAp-CA81U2O2tdHcXPdsCEUO0hyK_SFKF-Y",
"lat": 50.839315,
"lng": 4.380984,
"name": "Brussels",
"phone": "",
"region": "europe"
},
{
"address": "Alicia M. De Justo 350, 2nd Floor\nBuenos Aires, C1107AAH\nArgentina",
"id": "buenos-aires",
"image": "https://lh3.googleusercontent.com/08n-ZBH23cWYWAbRo7_uZ6VObzDOLdfvxiAy4vZvX2I_FBn4vlUl_qiwALWBMUp7gQ4LEkj7aW6gB_jdJWNmnsmYEKbWzNsh0EaYpw",
"lat": -34.602734,
"lng": -58.366992,
"name": "Buenos Aires",
"phone": "+54-11-5530-3000",
"region": "latin-america"
},
{
"address": "355 Main Street\nCambridge, MA 02142\nUnited States",
"id": "cambridge",
"image": "https://lh3.googleusercontent.com/OLL4nJ-esDQ3JFh2XpWSpX8WnO69yzFpYPWIy9yL_2WFapf74z_ZYvfqb4XkF0_hT2rCi3pzN2Y-yglQ-jWMw3u89YKwn4GfdT7FfQ",
"lat": 42.362757,
"lng": -71.087109,
"name": "Cambridge",
"phone": "+1 617-575-1300",
"region": "north-america"
},
{
"address": "200 West Franklin Street\nChapel Hill, NC 27516\nUnited States",
"id": "chapel-hill",
"image": "https://lh3.googleusercontent.com/AHShjZrvscMoWixuAd0zIXqER2wKMXtoqX4edIzur3FRLJ3DBDIAQqD6PZqB4it_ApAVyitFkjsRPER38oX6XHYOl9mxKbLCXrAQKA",
"lat": 35.912445,
"lng": -79.058488,
"name": "Chapel Hill",
"phone": "",
"region": "north-america"
},
{
"address": "210 Carpenter Ave\nChicago, IL 60607\nUnited States",
"id": "chicago-carpenter",
"image": "https://lh3.googleusercontent.com/pgZ_JGnbpqS4P8H29c6hOCQcLXiG1EZEw5W92FKddWuUTW8618AwIho27aAFPmniDUpH_jS3mCpAx3nY6WkT46oetsFMC__SrPCUmw",
"lat": 41.88609,
"lng": -87.65333,
"name": "Chicago \u2013 Carpenter",
"phone": "",
"region": "north-america"
},
{
"address": "320 N. Morgan, Suite 600\nChicago, IL 60607\nUnited States",
"id": "chicago-fulton",
"image": "https://lh3.googleusercontent.com/ulGqMc02YGomqRC2EN0JP7jOL-6qaIvhCq225DwyeP7b8l-H7ZTWkYDwVKHc0Z4nXEq_TBRCqqPfcc3N8WHm54XpOh16Yx73F4ng",
"lat": 41.8873457,
"lng": -87.6526874,
"name": "Chicago \u2013 Fulton Market",
"phone": "+1 312-840-4100",
"region": "north-america"
},
{
"address": "Skt. Petri Passage 5\n1165 Copenhagen\nDenmark",
"id": "copenhagen",
"image": "https://lh3.googleusercontent.com/SNSbrYGI_ZBuCl_S8aRh63IIta895tqIUUX3ZT0FWmK7ykhJRy_HNtzoud7XrohnjnSAkuXg9YykkFZqbvkRiZQC7osXrZzGerWdmG8",
"lat": 55.680452,
"lng": 12.570071,
"name": "Copenhagen",
"phone": "+45 3370 2600",
"region": "europe"
},
{
"address": "52 Henry St.\n3rd Floor\nDetroit, MI 48201\nUnited States",
"id": "detroit",
"image": "https://lh3.googleusercontent.com/WEP2INGXZc9vRv1ii6KDZGoRFPyumV466B3RzUwyzf8W81a7du2KGXlDEqS5g0nbOHsYTAvagFGVJskSonpt6wJWN2mVq8ti7JYPtvs",
"lat": 42.340458,
"lng": -83.054494,
"name": "Detroit",
"phone": "+1 248-593-4003",
"region": "north-america"
},
{
"address": "TECOM Zone, Dubai Internet City\nDubai, United Arab Emirates",
"id": "dubai",
"image": "https://lh3.googleusercontent.com/xw0iylnw3b3-qxwoNzLSLJlAAPtkF1KONnIoBTDHtURr04fzH9DeO08GYvEsKYQtE9GCdOMTk_s08H6-btSquKo3moeILfc3Kpu4MA",
"lat": 25.0929,
"lng": 55.1591,
"name": "Dubai",
"phone": "+971 4 4509500",
"region": "africa-middle-east"
},
{
"address": "Gordon House\nBarrow St\nDublin 4\nIreland",
"id": "dublin",
"image": "https://lh3.googleusercontent.com/1z3Fhr6nKlCDeTwc1KoFAMSrnywR0lb8nNdwTI1YgoKSXKIDjQeVB_I3Q8oDZuqqHtlXiUbPmfoUYyAXMObjvMxDcMeTqSY21YvP_A",
"lat": 53.3399526,
"lng": -6.2360967,
"name": "Dublin",
"phone": "",
"region": "europe"
},
{
"address": "Taikoo Hui Tower 1, No.383 Tianhe Road\nGuangzhou, 510620\nChina",
"id": "guangzhou",
"image": "https://lh3.googleusercontent.com/BjYQfVMor1QT5hAkc7DcN6_MJdwaySHY6VJ6IY7mQGJRdXjFZhiP-t4MV_QUbp0tBeuYvuMw3nUetTiI-vFl6-BcialJhhurhFrDVeY",
"lat": 23.1339728,
"lng": 113.3332488,
"name": "Guangzhou",
"phone": "",
"region": "asia-pacific"
},
{
"address": "Sector 15, Part II Village Silokhera\nGurgaon 122001\nIndia",
"id": "gurgaon",
"image": "https://lh3.googleusercontent.com/8plKBiWKmwllCXePad0JJ22u1GG7Qe1hveXlx_xJ87XoiQpclQubwxyGxcDU6tkatpb3oi9MYXjm2XszFi5kGn1flfTtjv6MycBWrQ",
"lat": 28.460581,
"lng": 77.048194,
"name": "Gurgaon",
"phone": "+91-12-44512900",
"region": "asia-pacific"
},
{
"address": "Building 30\nMATAM, Advanced Technology Centre\nHaifa, 3190500\nIsrael ",
"id": "haifa",
"image": "https://lh3.googleusercontent.com/syKfT9cVMzLi0d4_DSiJztWGwcmWct6IEbpAApEFk_G8ym0xyLLxMBT484zROIOZHMSe9N1o-QQrCAqVWfKRSY6EOeJY9Qa1ftwb",
"lat": 32.78897,
"lng": 34.958432,
"name": "Haifa",
"phone": "+972-74-746-6245",
"region": "africa-middle-east"
},
{
"address": "ABC-Strasse 19\n20354 Hamburg\nGermany",
"id": "hamburg",
"image": "https://lh3.googleusercontent.com/66R0svr2--6zNOnrqf6JbeZ-bF39bRfHpExjcTlE_AIlPEPk8jO1LjF39FUbDnJB1gh_FiRFX6aCRg4ACjYRbDqb5lf9PdV6qY4S",
"lat": 53.553752,
"lng": 9.986229,
"name": "Hamburg",
"phone": "49 40-80-81-79-000",
"region": "europe"
},
{
"address": "1 Matheson Street\nCauseway Bay, Hong Kong",
"id": "hong-kong",
"image": "https://lh3.googleusercontent.com/-Ult8_R6TfQAk16CfjSfl6PLypQBYohUjNjE6xeeektZsrP8XwTv7PnVVE-5Ueh3I-2hPnAdRGg6XrMn9IwI7W1h5LJKtlMVe93Wfw",
"lat": 22.278203,
"lng": 114.18176,
"name": "Hong Kong",
"phone": "+852-3923-5400",
"region": "asia-pacific"
},
{
"address": "Survey No. 13, DivyaSree Omega\nKondapur Village\nHyderabad, Telangana 500084\nIndia",
"id": "hyderabad",
"image": "https://lh3.googleusercontent.com/LAEnc0tzA-JSb5XM5oct5paX98QK9zh_aqa_qKcjAoXo2MChgOjdj_EZpgIZsVAvEY-I0bmMmhCBb5gkoVN4ebqCG9ZfjCbo_stJaw",
"lat": 17.458461,
"lng": 78.372452,
"name": "Hyderabad",
"phone": "+91-40-6619-3000",
"region": "asia-pacific"
},
{
"address": "19510 Jamboree Road\nIrvine, CA 92612\nUnited States",
"id": "irvine",
"image": "https://lh3.googleusercontent.com/LWGkhXkRRzWnMlNy_Ps74-VTxB2ISXK0Kkick1SujTLYvNAUqo9_HR7SILSZZsiaiGWsXtx7dR5Hz9Q5psu1MWP9BHtDuGYc_hz_eg",
"lat": 33.658792,
"lng": -117.859322,
"name": "Irvine",
"phone": "+1 949-794-1600",
"region": "north-america"
},
{
"address": "Eski Buyukdere Caddesi No: 209\n34394\nIstanbul, Turkey",
"id": "istanbul",
"image": "https://lh3.googleusercontent.com/_mdN7z1Q-9fKgpHTb1rQJosllxqn7glRJ_G2enX4WPmImuJjLHKw-JBZ8z5B9vMSo12SexGBOD1i2NHXqEy4OaOJekn0g3Fp3bDk_Q",
"lat": 41.081697,
"lng": 29.00859,
"name": "Istanbul",
"phone": "",
"region": "africa-middle-east"
},
{
"address": "Pacific Century Place Tower Level 45 SCBD Lot 10,\nJl. Jend. Sudirman No.53,\nRT.5/RW.3, Senayan, Kby. Baru,\nKota Jakarta Selatan,\nDaerah Khusus Ibukota Jakarta 12190, \nIndonesia",
"id": "jakarta",
"image": "https://lh3.googleusercontent.com/JEaMUfOUq6bxN7jeIN1z2me5-JvlLRkrFJgf_A0GvqtOquU6Tfjg0ecKeR_Ck27L0S1zC2t_4I6nVP6pBdBtSKst7tkJEoC7LyYq",
"lat": -6.227664,
"lng": 106.808471,
"name": "Jakarta",
"phone": "",
"region": "asia-pacific"
},
{
"address": "35 Ballyclare Drive, Building E\nJohannesburg\n2191, South Africa",
"id": "johannesburg",
"image": "https://lh3.googleusercontent.com/EDxefwSgeKyh8zN9VUUGhu3hiBqH7Z3UEOXfZeij7YnUhZLqLElu8dhi4FziOepRun-fjfwIWdf5W8CTG5ZSYMu4k8z9QZjTgjQRuQ",
"lat": -26.0734457,
"lng": 28.032035,
"name": "Johannesburg",
"phone": "",
"region": "africa-middle-east"
},
{
"address": "777 6th Street South\nKirkland, WA\nUnited States",
"id": "kirkland",
"image": "https://lh3.googleusercontent.com/Vgmu21GQbS0pga_tJaG0_35AYOzM64Uxp-zNYyMVnd3oXFHmHeMJpx8UjcsMYdnxbdlFZ4KGFowOtpHxsNlUw8qS21sYBy9jPbqkuA",
"lat": 47.669568,
"lng": -122.196912,
"name": "Kirkland",
"phone": "+1 425-739-5600",
"region": "north-america"
},
{
"address": "51 Breithaupt Street\nKitchener, ON N2H 5G5\nCanada",
"id": "kitchener",
"image": "https://lh3.googleusercontent.com/jUCZzQYnJXCUZ3ZxAEB14qukCV6aGxfh84hExpcpye314DhOWB4jtpUoNDrCtA2laV7qDHBAYGtIuZan9Ir5Hp6_U0B2zTGgPqsb",
"lat": 43.4541137,
"lng": -80.4992423,
"name": "Kitchener",
"phone": "+1-519-880-2300",
"region": "north-america"
},
{
"address": "Axiata Tower\nNo. 9, Jalan Stesen Sentral 5\n50470 Kuala Lumpur\nMalaysia",
"id": "kuala-lumpur",
"image": "https://lh3.googleusercontent.com/c5kAdRoyejY1Z5i9A3hYKfIG55GrKdAc0iJjH-gYo-tWd3JUksvsfZx7LU5yzay4HJmxCQEir2cejbZ2LurYfKL_emC9e9PCDVxd",
"lat": 3.133445,
"lng": 101.684609,
"name": "Kuala Lumpur",
"phone": "",
"region": "asia-pacific"
},
{
"address": "Avenida da Liberdade, 110\nLisbon, 1269-046, Portugal",
"id": "lisbon",
"image": "https://lh3.googleusercontent.com/py3HZVLLpxjMhRL6fgUKmHqGODp6ZH-5abQBHGqyKrCyuoW0t-q0ypNVN_jOfD3ZEO08Y9Q0m-E4ZyuNrMgl-mlaECkCAEyc7Af1",
"lat": 38.718887,
"lng": -9.143781,
"name": "Lisbon",
"phone": "+351 21 122 1803",
"region": "europe"
},
{
"address": "6 Pancras Square\nLondon N1C 4AG\nUnited Kingdom",
"id": "london-6ps",
"image": "https://lh3.googleusercontent.com/WTxWzt3AOcEMwoT2OonLTlc63pa4V-GsYbZg5Hu7rfe9ZioMaRurkxaQ5tOcuC9nZkCyh2IjQb-xMy4Tq8ISrHjfDHmzZXnExTjP",
"lat": 51.533311,
"lng": -0.126026,
"name": "London \u2013 6PS",
"phone": "+44-20-7031-3000",
"region": "europe"
},
{
"address": "Belgrave House\n76 Buckingham Palace Road\nLondon SW1W 9TQ\nUnited Kingdom",
"id": "london-bel",
"image": "https://lh3.googleusercontent.com/bLxZNCaDE2Fdj7woV_9JUJEUfUvTrhI57jHNEeW-OenTspzM21miwz1gGydzZ2Ke_vfRdkqdo4dyN2mJCntC2p4qvRUyipPWppAC9g",
"lat": 51.494961,
"lng": -0.146652,
"name": "London \u2013 BEL",
"phone": "+44-20-7031-3001",
"region": "europe"
},
{
"address": "1\u201313 St Giles High St\nLondon WC2H 8AG\nUnited Kingdom",
"id": "london-csg",
"image": "https://lh3.googleusercontent.com/32nlExbSrV5rJR9Qsqfkbckn6_yd-4QRaoSDmp9JLyaZxojfl9aH1LZSrSvcsT128AUzHqkEfMhTE2miDuOu7gj-7x3Ginqr4rgowg",
"lat": 51.516027,
"lng": -0.12755,
"name": "London \u2013 CSG",
"phone": "+44 (0)20-7031-3000",
"region": "europe"
},
{
"address": "340 Main Street\nLos Angeles, CA 90291\nUnited States",
"id": "los-angeles",
"image": "https://lh3.googleusercontent.com/MWGnaY3t_1-j7YylPpq35rvBU9gIBJIsnrtW95THrBw9N0PWrAVtbHKUBH8OdxyWI9gYdymndmSgwS8tl23GylytyefNC74i4-pniQ",
"lat": 33.995939,
"lng": -118.4766773,
"name": "Los Angeles, US",
"phone": "+1 310-310-6000",
"region": "north-america"
},
{
"address": "811 E Washington Ave\nSuite 700\nMadison, WI 53703\nUnited States",
"id": "madison",
"image": "https://lh3.googleusercontent.com/sQDFJpbQl4EVGfdpHsw_24mxsnUNAnDs6f-00QCj0g_Z38CEqjG4PuLPoS_T6eTOPV3QXX907Kap_TkaE3cEG4fhJWIoWsZELIGyvw",
"lat": 43.081091,
"lng": -89.374619,
"name": "Madison",
"phone": "+1 608-669-9841",
"region": "north-america"
},
{
"address": "Plaza Pablo Ruiz Picasso, I\nMadrid 28020\nSpain",
"id": "madrid",
"image": "https://lh3.googleusercontent.com/x36CdPxkwxxctp0wvDYfTjgTzNgMiZV0xoKeLMwHzdccpJGYUA6a61fSeX1_Rt-lfofMjfUwAhFxd7DbjsE8_393plkTly-T5YkpCA",
"lat": 40.4505331,
"lng": -3.6931161,
"name": "Madrid",
"phone": "+34 91-748-6400",
"region": "europe"
},
{
"address": "161 Collins Street,\nMelbourne VIC 3000,\nAustralia",
"id": "melbourne",
"image": "https://lh3.googleusercontent.com/U_5KiB8x7T-Rrdp90ygnO1kbZxiWJz4G6CbD6_51CjH5zaMP23upWELryFOe99k_AqlPZschCY7Nx--wYufcIV54HnjGcP3lf28X1A",
"lat": -37.815328,
"lng": 144.968737,
"name": "Melbourne",
"phone": "",
"region": "asia-pacific"
},
{
"address": "Google Mexico, S. de R.L. de C.V.\nMontes Urales 445\nLomas de Chapultepec\nMexico City 11000, Mexico",
"id": "mexico-city",
"image": "https://lh3.googleusercontent.com/P_U5ECZJ--t8khoKFxoeeJwa7PZy-3TriZbit5sRJDUdupf3NZRJegsnB4ucLqdLEV3De41fmByckDDC6uHMI82cXIFp4C1WwI1a1g",
"lat": 19.4283793,
"lng": -99.2065518,
"name": "Mexico City",
"phone": "+52 55-5342-8400",
"region": "latin-america"
},
{
"address": "1450 Brickell Ave Ste 900 \nMiami FL 33131\nUnited States",
"id": "miami",
"image": "https://lh3.googleusercontent.com/DTk99d9bCqiCN8sFj3FBr8BdGPYC97PCYbiLbdq6GZ-_Er268DSlvfRM_g8hwA5tOmw_6c3PBjpKpuRQTuXS8H8_hpIlCQKyobyYjQ",
"lat": 25.758473,
"lng": -80.1932144,
"name": "Miami",
"phone": "+1 305-985-7900",
"region": "north-america"
},
{
"address": "Porta Nuova Isola, Building C, Via Federico Confalonieri 4\n20124 Milan\nItaly",
"id": "milan",
"image": "https://lh3.googleusercontent.com/nZ_KE1LqNmW5qb6i-czLlm_yqRJtLmvEmyLRI0BYjqMlOiC_5VmbEI3DeHQyPOHp6PzoN2gKJ0j73BALkddFmDFXOIe9Wwctmt73cqI",
"lat": 45.486147,
"lng": 9.189546,
"name": "Milan",
"phone": "",
"region": "europe"
},
{
"address": "1253 McGill College Avenue\nMontreal, QC H3B 2Y5\nCanada",
"id": "montreal",
"image": "https://lh3.googleusercontent.com/S310Um4pKym8bvHQcQmJLc4ohURWEq3AQHjJ-b5aMY-TpA9P4LCKcxGEg4fik-zSL6MrtiEi8Qt3JbAZl8x-GiI31wfm_myGfb3manQ",
"lat": 45.50191,
"lng": -73.570365,
"name": "Montreal",
"phone": "514-670-8700",
"region": "north-america"
},
{
"address": "7 Balchug St\nMoscow 115035\nRussia",
"id": "moscow",
"image": "https://lh3.googleusercontent.com/i6cwRxcix3LUdviTVKoLG2Ep6q9pjfPIX_nrge-YkgjIvTgCH5QQpSI6wCpKvg0HiH56lHu6K8eAkCrPZUCzspS6Y9K19U47xr4hww",
"lat": 55.746747,
"lng": 37.626435,
"name": "Moscow",
"phone": "+7-495-644-1400",
"region": "europe"
},
{
"address": "1600 Amphitheatre Parkway\nMountain View, CA 94043\nUnited States",
"id": "mountain-view",
"image": "https://lh3.googleusercontent.com/Mh8P8gvVwO7NOXfg8anxwPXRy5oKZJ6Cz_LbFfOVdeIsdDfogmMcMsiW7HD7HD2NOINzAPH_v8dALWSuDiiTjCjRnenI7B3l6Pg4yw",
"lat": 37.421512,
"lng": -122.084101,
"name": "Mountain View",
"phone": "",
"region": "north-america"
},
{
"address": "3 North Avenue\nMaker Maxity, Bandra Kurla Complex\nBandra East\nMumbai, Maharashtra 400051\nIndia",
"id": "mumbai",
"image": "https://lh3.googleusercontent.com/twldrlVORn84fYsOLwNLabfRPQYX-dJAzJtpam-Ea4D7QIY1pvMa9FCMbpjUFA8uniBg6XAh8pMijf9qnjmEm4d17UFkwRGToiv5Ug",
"lat": 19.054364,
"lng": 72.850591,
"name": "Mumbai",
"phone": "+91-22-6611-7150",
"region": "asia-pacific"
},
{
"address": "Erika-Mann-Str. 33\n80636 Munich\nGermany",
"id": "munich",
"image": "https://lh3.googleusercontent.com/sVZqxencTTD84raIgMWd5SbmXZTvQmwUzxj6IakbIGuAua5JDu-Q64uJE-cm3TYeSjKVQo7VSwIODVpwswjtrpwBUvXTa5MDFXoNAw",
"lat": 48.14305556,
"lng": 11.54083333,
"name": "Munich",
"phone": "",
"region": "europe"
},
{
"address": "111 8th Avenue\nNew York, NY 10011\nUnited States",
"id": "new-york",
"image": "https://lh3.googleusercontent.com/BWdXxSOqBpjGFzAJVVr02QQs5XSe33dEeNDG6lXhd-nuv32ruMjD01yBJX3Rk4_xP6glB1ycMvwypEPr6YO665grfWqEEI2LPYUaMg",
"lat": 40.741445,
"lng": -74.003102,
"name": "New York",
"phone": "+1 212-565-0000",
"region": "north-america"
},
{
"address": "Aker Brygge\nBryggegata 6\n0250 Oslo\nNorway",
"id": "oslo",
"image": "https://lh3.googleusercontent.com/lc9jPxaz4CzdC3sD4wFlzml1Y221PvtsisYGenint536WNbyIMY2cp2qnQOmnT0IWPoOCjarwMgK6zddvTcOu6YcAuaVLfQAdqZ2UQg",
"lat": 59.90987,
"lng": 10.72598,
"name": "Oslo",
"phone": "",
"region": "europe"
},
{
"address": "8 Rue de Londres\n75009 Paris\nFrance",
"id": "paris",
"image": "https://lh3.googleusercontent.com/GHZlAB7t3toRGww1NJ6ZC2IpvR0jkgqFkQ0ZvM02dmQWt6fiHIKJZ7Eova959UD0PAapPE2r2TYMe3-dE3jGDgEoqHch0qyjAKvPENc",
"lat": 48.8771,
"lng": 2.33,
"name": "Paris",
"phone": "",
"region": "europe"
},
{
"address": "6425 Penn Avenue\nPittsburgh, PA 15206\nUnited States",
"id": "pittsburgh",
"image": "https://lh3.googleusercontent.com/47kJwc4CR6oGOI2l_su5CJHnEWkrUZlz7LZRGXHgF71xa-0gJc8qCBhnsNoigcNEGFfBpb3y5AxVXJP_TxvHtgUgTrU8zmBm3Two7w",
"lat": 40.45716,
"lng": -79.916596,
"name": "Pittsburgh",
"phone": "+1 412-345-6700",
"region": "north-america"
},
{
"address": "12422 W. Bluff Creek Drive\nPlaya Vista, CA 90094\nUnited States",
"id": "playa-vista",
"image": "https://lh3.googleusercontent.com/xnHVNI6bCcQxJyLV6sG3op8PlJcT9XgMAGmHrXtj5axhCZPH7Tbc9Ppjb2gTCtGbKmilT17B0dKzczOJh9JANh8Wwz0SXH0pEqCOkQ",
"lat": 33.97684,
"lng": -118.407244,
"name": "Playa Vista",
"phone": "",
"region": "north-america"
},
{
"address": "Wells Fargo Building, 309 SW 6th Ave\nPortland, OR 97204\nUnited States",
"id": "portland",
"image": "https://lh3.googleusercontent.com/FMeFmwWFZJD02kj0H73t5v8NPrVOecVxuCl9cA-vLiXgaXErYQxmMXJKvvROgwSNvgPdmRZ4-GQuub74p0dDwJgY37vBNN2vgx7Utw",
"lat": 45.521622,
"lng": -122.677458,
"name": "Portland",
"phone": "",
"region": "north-america"
},
{
"address": "Stroupeznickeho str. 3191/17\nPrague, Czech Republic\n150 00",
"id": "prague",
"image": "https://lh3.googleusercontent.com/jVNKH2mzDQ4Zu1-1G80-nDvLHYE9dmeetv43WG3zo7-dQWJoX1ghtXvviZHDLRG-ScqA804I2guuExY-8pkzIdkYlU28QGOB8Jkkiw",
"lat": 50.070259,
"lng": 14.402642,
"name": "Prague",
"phone": "",
"region": "europe"
},
{
"address": "1600 Seaport Boulevard\nRedwood City, CA 94063\nUnited States",
"id": "redwood-city",
"image": "https://lh3.googleusercontent.com/a7GCRT1go5jQzEQj--A-kq98pURYsO4cTCJPj6azEev7za4Y__Kd3E_khFyn5uxRtPC0Co_ZxzQtqrlXeOSNey8fOSV4pK0ffzSW5A",
"lat": 37.512171,
"lng": -122.201178,
"name": "Redwood City",
"phone": "",
"region": "north-america"
},
{
"address": "1875 Explorer Street \n10th Floor\nReston, VA 20190\nUnited States",
"id": "reston",
"image": "https://lh3.googleusercontent.com/4WuJCZlLflcQjsyhsGX3VSGDEVmC0Ljq291ECgVk3nN89ppnhSbdQIRI1I1-qh5YEf0Yicdc6amuqKz7oAdgLvQoNBrM9Zh3BcUwSw",
"lat": 38.958309,
"lng": -77.359795,
"name": "Reston",
"phone": "+1 202-370-5600",
"region": "north-america"
},
{
"address": "901 Cherry Avenue\nSan Bruno, CA 94066\nUnited States",
"id": "san-bruno",
"image": "https://lh3.googleusercontent.com/zcy-Un_QDZfx7nTlImk-jCocxSUjQAQ4SS0eVdBuNRZz3Nyb5WK_2oGwYpnBEdqjIcv_b-umq_akpWBEylaEp-wXk3pj9-gu6Ko9Igs",
"lat": 37.62816,
"lng": -122.426491,
"name": "San Bruno",
"phone": "",
"region": "north-america"
},
{
"address": "6420 Sequence Dr \nSuite 400\nSan Diego, CA 92121\nUnited States",
"id": "san-diego",
"image": "https://lh3.googleusercontent.com/RgGUUE3ra1j-mQIH8vp6an37hlwduD8uVnaCv8ivo5mX6ekdnZYd0-hlQ1hpQzV0ZgPk7y8h60oWy5MK5VF48ozZMYRXnh1ddJjuVGo",
"lat": 32.90961,
"lng": -117.181899,
"name": "San Diego",
"phone": "+1 858-239-4000",
"region": "north-america"
},
{
"address": "345 Spear Street\nSan Francisco, CA 94105\nUnited States",
"id": "san-francisco",
"image": "https://lh3.googleusercontent.com/OC_0_XdXLar-ytOETAv3uwRGfnLABSRu66hqLQpLrwIhqInPD6ccdZSEu_d5S8wmjc1knb9OM7yNh2K7hoGznvKZOgFlvrxJesd7mQ",
"lat": 37.789972,
"lng": -122.390013,
"name": "San Francisco",
"phone": "+1 415-736-0000",
"region": "north-america"
},
{
"address": "Costanera Sur Rio 2730 \nLas Condes, Santiago\nChile",
"id": "santiago",
"image": "https://lh3.googleusercontent.com/KrMbZzxFsAcNmYg8BQL_qBAekN1bNNJGo1aar8nkFhYXYDYOBmwJc2x1XElkDdIqLdedU5V7QKTGxXne8-f-qAW_bOy1FUqmJ8JM",
"lat": -33.413383,
"lng": -70.605665,
"name": "Santiago",
"phone": "",
"region": "latin-america"
},
{
"address": "Av. Brigadeiro Faria Lima, 3477 \nS\u00e3o Paulo\n04538-133, Brazil",
"id": "sao-paulo",
"image": "https://lh3.googleusercontent.com/MwcGyEZBKkmoycVLcpl_U3gdIJBoWDU8u2kUNq57DmZVkWDyraoaZyQC0HOiFQvNHjVugEiVTWsy-poAsNfDLoSkJ5RoTBi1Hpd4GcI",
"lat": -23.586479,
"lng": -46.682078,
"name": "Sao Paulo",
"phone": "",
"region": "latin-america"
},
{
"address": "601 N. 34th Street\nSeattle, WA 98103\nUnited States",
"id": "seattle",
"image": "https://lh3.googleusercontent.com/pNaRyPV3SkqsVvmdmN0sC-viBupr-41tZM3_cpSNH_3Zdy826gIhM0zHfoowA6SCkcsOkUxDvJ8wG5CodorohisOgR9q_QE7wH1ua-M",
"lat": 47.649316,
"lng": -122.350629,
"name": "Seattle",
"phone": "+1 206-876-1800",
"region": "north-america"
},
{
"address": "Google Korea LLC.\n22nd Floor, Gangnam Finance Centre\n152 Teheran-ro, Gangnam-gu\nSeoul 06236\nSouth Korea",
"id": "seoul",
"image": "https://lh3.googleusercontent.com/i8rfvJIUNpLBkmWWSoetUzFGHUd_RaulLh8F3EHme3FMTUtDs8EVWsrFLuaemh1Zd60p5ndCcKq8-ZQN8eibbua-YNzlzQ8AKtHFzrQ",
"lat": 37.500295,
"lng": 127.036843,
"name": "Seoul",
"phone": "+82-2-531-9000",
"region": "asia-pacific"
},
{
"address": "100 Century Avenue, Pudong\nShanghai 200120\nChina",
"id": "shanghai",
"image": "https://lh3.googleusercontent.com/wFCKLAJvrAoE_GiXqRNa0w4Rsr0iY_SyMGbO2jnIhLXGanYs1c5_BPE8TxQJw-e14uaLDHjY772V-Vv-Kf3GmrIRSlHjoV9yD339wRQ",
"lat": 31.23464,
"lng": 121.507662,
"name": "Shanghai",
"phone": "+86-21-6133-7666",
"region": "asia-pacific"
},
{
"address": "70 Pasir Panjang Road, #03-71, \nMapletree Business City \nSingapore 117371",
"id": "singapore",
"image": "https://lh3.googleusercontent.com/--5H57B8aG4-DX9s79Spo3ygrsI9NMFnZo1uTZzs5s5AeeOvmiy81k__tu9r7JbRTTLzryK-oUy0UREclmD_qfV81VvaT4K9jJa8gg",
"lat": 1.276466,
"lng": 103.798965,
"name": "Singapore",
"phone": "+65 6521-8000",
"region": "asia-pacific"
},
{
"address": "Kungsbron 2 \n111 22 Stockholm\nSweden",
"id": "stockholm",
"image": "https://lh3.googleusercontent.com/Q2016qdodQKowCyzfN14RLYERc2IplyM2FzJvj0kzbW4eLXnIxoFF1eZMc_CwtodxbpyfhfebUrawHtIgFb2kh9-EQnhcaHXpV0Fnw",
"lat": 59.333432,
"lng": 18.054619,
"name": "Stockholm",
"phone": "",
"region": "europe"
},
{
"address": "803 11th Avenue\nSunnyvale, CA 94089\nUnited States",
"id": "sunnyvale",
"image": "https://lh3.googleusercontent.com/xd1Z3wr4cee9gtKQSnrOd-NWjc6UTwpwngElt4pkqukzOf-l0hrgQuRRBzvSjqmF4w1ZAHR1I12grFa5Zhqd9-7dKUitPtpMg51Zrf8",
"lat": 37.403694,
"lng": -122.031583,
"name": "Sunnyvale",
"phone": "",
"region": "north-america"
},
{
"address": "48 Pirrama Road\nSydney, NSW 2009\nAustralia ",
"id": "sydney",
"image": "https://lh3.googleusercontent.com/03Hp4ZwQHs_rWLEWQtrOc62hEHzffD_uoZFCbo56eoeLyZ3L89-Fy5Dd8WcmrGFGK31QC_hZqzuU7f9QhxqjckE7BSLo_arwWjCH1w",
"lat": -33.866638,
"lng": 151.195672,
"name": "Sydney",
"phone": "+61 2 9374 4000",
"region": "asia-pacific"
},
{
"address": "No. 7 XinYi Road Section 5, Taipei\nTaiwan",
"id": "taipei",
"image": "https://lh3.googleusercontent.com/h19TQz36F4jY_ZfQxuP5F-THZbl4nAIGz473uFfLqzD_6kpw-r3b6M_Wbna5QvvymqZ-wdnhkLCRt63Pypnc9GyawNqMlQwM1_BYbg",
"lat": 25.033447,
"lng": 121.564901,
"name": "Taipei",
"phone": "+886 2 8729 6000",
"region": "asia-pacific"
},
{
"address": "Yigal Alon 98\nTel Aviv, 6789141\nIsrael ",
"id": "tel-aviv",
"image": "https://lh3.googleusercontent.com/BZxU1dJCWFmtVeBqVYFC8SmSzX4CCzO5eedosW1s7sv2b2HoKwEno15vICfeQdsc_BGIaysKb8VyF64IB9hbFzMZ_MlQDJhP7kfF",
"lat": 32.070043,
"lng": 34.794087,
"name": "Tel Aviv",
"phone": "+972-74-746-6453",
"region": "africa-middle-east"
},
{
"address": "Roppongi Hills Mori Tower\n6-10-1 Roppongi\nMinato-ku, Tokyo 106-6126\nJapan",
"id": "tokyo-rpg",
"image": "https://lh3.googleusercontent.com/i7PqriAmbeqB7KQ4h_8K0T60DD-oAoz7bvvjlB4vx2267l9QHfKBHb7WUMSutYd88Xu4TRwWqIquL05bYcpTyU_58gWp8Ja2Xo2zOfM",
"lat": 35.66047,
"lng": 139.729231,
"name": "Tokyo \u2013 RPG",
"phone": "+81-3-6384-9000",
"region": "asia-pacific"
},
{
"address": "Shibuya Stream\n3-21-3 Shibuya\nShibuya-ku, Tokyo 150-0002\nJapan",
"id": "tokyo-strm",
"image": "https://lh3.googleusercontent.com/GzaUJcEqlixelFX8dg1qcLPwAb4RpEXr3JMxyxpgSTWL17Gso_aq3NeMtQPES7f_JdIrGr9YTBSt08XgNAeoLSkxr3Ue_J0cW3VMCw",
"lat": 35.6572564,
"lng": 139.7028246,
"name": "Tokyo \u2013 STRM",
"phone": "+81-3-6384-9000",
"region": "asia-pacific"
},
{
"address": "111 Richmond Street West\nToronto, ON M5H 2G4\nCanada",
"id": "toronto",
"image": "https://lh3.googleusercontent.com/vZUQcWL3r_bsHBRP-Z0XfhMxjlSAAe9sZLlw5rbBzqsM6w-WVjnTZGaw3w-PkqkhHPy0x-2Xzg_gishFkVjn5r3epKifwhmRc741",
"lat": 43.650477,
"lng": -79.383858,
"name": "Toronto",
"phone": "416-915-8200",
"region": "north-america"
},
{
"address": "Graben 19\n1010 Wien\nAustria",
"id": "vienna",
"image": "https://lh3.googleusercontent.com/roYQN_TnYd_fP0FCdZxA6lMLbp-h7PyPlDBKwVdfVWKkOCxmLjFHqm-n7hrcakcXHS1FzjXW5XWF_MApzuGIrvy2cewCYd7Z9q5MUw",
"lat": 48.209351,
"lng": 16.368419,
"name": "Vienna",
"phone": "",
"region": "europe"
},
{
"address": "Emilii Plater 53\n00-113 Warsaw\nPoland ",
"id": "warsaw",
"image": "https://lh3.googleusercontent.com/jTf0m2s5A2qS25ArE3x6Tl1KXtpv3JmHIfcBuw7f-JHsTR0tMiyUVeHO1wBeJ2eEGcAWUbTe3b9B8iP8wyL-TROS5zxmMofMHsnf",
"lat": 52.233448,
"lng": 21.001668,
"name": "Warsaw",
"phone": "+48 22 207 19 00",
"region": "europe"
},
{
"address": "25 Massachusetts Avenue\nWashington DC, 20001\nUnited States",
"id": "washington-dc",
"image": "https://lh3.googleusercontent.com/6rKu8CCH6nMVKjwpnxDlgf_Sdlc7jk83QBVhoLikzEyibYTZkvNPn-QPCJTv3AkjUYf2dHcE15UvPsrg18xNd4R8_eg3b-yn01yXgQ",
"lat": 38.898337,
"lng": -77.010286,
"name": "Washington DC",
"phone": " (202) 346-1100",
"region": "north-america"
},
{
"address": "Gen. Jozefa Bema nr 2\n50-265 Wroclaw\nPoland",
"id": "wroclaw",
"image": "https://lh3.googleusercontent.com/Or6dY4MCUCbMnDv4kG8J7u-QTsWhvbqbAbMN9Vp38aJAS7ec7A39gYddcEGbrwd_veFeZo2phypqc1ABk20PZ9jCVxZfuNGYS7j3LDc",
"lat": 51.117687,
"lng": 17.041737,
"name": "Wroclaw",
"phone": "+48 (71) 73 41 000",
"region": "europe"
},
{
"address": "Brandschenkestrasse 110\n8002 Z\u00fcrich\nSwitzerland",
"id": "zurich",
"image": "https://lh3.googleusercontent.com/kmEsDEYzbMlluwDPYkeEEBpAvL9MJbXZR3hD3uettOqE8T7lbXvV508j4d4QngB7iwYZa8YYlXiVnGWfZ4ZvTJbputGXsfxrLGhD3tI",
"lat": 47.365063,
"lng": 8.524425,
"name": "Zurich",
"phone": "+41 44 668 18 00",
"region": "europe"
}
],
"regions": [
{
"coords": {
"lat": 2.9660291,
"lng": 1.3271339
},
"id": "africa-middle-east",
"name": "Africa & Middle East",
"zoom": 3.0
},
{
"coords": {
"lat": 0.0524811,
"lng": 127.6560787
},
"id": "asia-pacific",
"name": "Asia Pacific",
"zoom": 3.0
},
{
"coords": {
"lat": 46.1352815,
"lng": 7.4033438
},
"id": "europe",
"name": "Europe",
"zoom": 4.0
},
{
"coords": {
"lat": -17.5554497,
"lng": -99.2316195
},
"id": "latin-america",
"name": "Latin America",
"zoom": 3.0
},
{
"coords": {
"lat": 45.7128252,
"lng": -97.1547448
},
"id": "north-america",
"name": "North America",
"zoom": 4.0
}
]
}

@ -0,0 +1,34 @@
**/dgph
*.mode1v3
*.mode2v3
*.moved-aside
*.pbxuser
*.perspectivev3
**/*sync/
.sconsign.dblite
.tags*
**/.vagrant/
**/DerivedData/
Icon?
**/Pods/
**/.symlinks/
profile
xcuserdata
**/.generated/
Flutter/App.framework
Flutter/Flutter.framework
Flutter/Flutter.podspec
Flutter/Generated.xcconfig
Flutter/ephemeral/
Flutter/app.flx
Flutter/app.zip
Flutter/flutter_assets/
Flutter/flutter_export_environment.sh
ServiceDefinitions.json
Runner/GeneratedPluginRegistrant.*
# Exceptions to above rules.
!default.mode1v3
!default.mode2v3
!default.pbxuser
!default.perspectivev3

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
</dict>
</plist>

@ -0,0 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"

@ -0,0 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

@ -0,0 +1,41 @@
# Google Maps SDK requires platform version 13
platform :ios, '13.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end

@ -0,0 +1,551 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
7616842171F8B2591E077EE5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4ECEA7648C7D20094E023750 /* Pods_Runner.framework */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0A226A01B64205FAEDE3FA05 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
20FA5C4C1A42FDD96EB0B855 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4ECEA7648C7D20094E023750 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
624164245F0CCBBCE8156C38 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7616842171F8B2591E077EE5 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
44AAF079C3DB77FC1F61BC96 /* Frameworks */ = {
isa = PBXGroup;
children = (
4ECEA7648C7D20094E023750 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
563ED8F6F3A15841B9974AFE /* Pods */ = {
isa = PBXGroup;
children = (
20FA5C4C1A42FDD96EB0B855 /* Pods-Runner.debug.xcconfig */,
624164245F0CCBBCE8156C38 /* Pods-Runner.release.xcconfig */,
0A226A01B64205FAEDE3FA05 /* Pods-Runner.profile.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
563ED8F6F3A15841B9974AFE /* Pods */,
44AAF079C3DB77FC1F61BC96 /* Frameworks */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
);
path = Runner;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
78182010A5BB8ACDC157B661 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
4F28FC32511692FB285FCC6B /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
4F28FC32511692FB285FCC6B /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
78182010A5BB8ACDC157B661 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.googleMapsInFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.googleMapsInFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.googleMapsInFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -0,0 +1,18 @@
import UIKit
import Flutter
import GoogleMaps
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
// TODO: Add your Google Maps API key
GMSServices.provideAPIKey("AIzaSyBFVI6nt-1Yn_lFYWMidyqUk8ca0eE1Sv8")
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

@ -0,0 +1,122 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

@ -0,0 +1,5 @@
# Launch Screen Assets
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="168" height="185"/>
</resources>
</document>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Google Maps In Flutter</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>google_maps_in_flutter</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>

@ -0,0 +1 @@
#import "GeneratedPluginRegistrant.h"

@ -0,0 +1,62 @@
/*
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() => runApp(const MyApp());
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
late GoogleMapController mapController;
final LatLng _center = const LatLng(-33.86, 151.20);
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Sydney'),
backgroundColor: Colors.green[700],
),
body: GoogleMap(
onMapCreated: _onMapCreated,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 11.0,
),
markers: {
// ignore: prefer_const_constructors
Marker(
markerId: const MarkerId('Sydney'),
position: const LatLng(-33.86, 151.20),
)
}),
),
);
}
}

@ -0,0 +1,121 @@
/*
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'package:http/http.dart' as http;
import 'package:json_annotation/json_annotation.dart';
part 'locations.g.dart';
@JsonSerializable()
class LatLng {
LatLng({
required this.lat,
required this.lng,
});
factory LatLng.fromJson(Map<String, dynamic> json) => _$LatLngFromJson(json);
Map<String, dynamic> toJson() => _$LatLngToJson(this);
final double lat;
final double lng;
}
@JsonSerializable()
class Region {
Region({
required this.coords,
required this.id,
required this.name,
required this.zoom,
});
factory Region.fromJson(Map<String, dynamic> json) => _$RegionFromJson(json);
Map<String, dynamic> toJson() => _$RegionToJson(this);
final LatLng coords;
final String id;
final String name;
final double zoom;
}
@JsonSerializable()
class Office {
Office({
required this.address,
required this.id,
required this.image,
required this.lat,
required this.lng,
required this.name,
required this.phone,
required this.region,
});
factory Office.fromJson(Map<String, dynamic> json) => _$OfficeFromJson(json);
Map<String, dynamic> toJson() => _$OfficeToJson(this);
final String address;
final String id;
final String image;
final double lat;
final double lng;
final String name;
final String phone;
final String region;
}
@JsonSerializable()
class Locations {
Locations({
required this.offices,
required this.regions,
});
factory Locations.fromJson(Map<String, dynamic> json) =>
_$LocationsFromJson(json);
Map<String, dynamic> toJson() => _$LocationsToJson(this);
final List<Office> offices;
final List<Region> regions;
}
Future<Locations> getGoogleOffices() async {
const googleLocationsURL = 'https://about.google/static/data/locations.json';
// Retrieve the locations of Google offices
try {
final response = await http.get(Uri.parse(googleLocationsURL));
if (response.statusCode == 200) {
return Locations.fromJson(
json.decode(response.body) as Map<String, dynamic>);
}
} catch (e) {
if (kDebugMode) {
print(e);
}
}
// Fallback for when the above HTTP request fails.
return Locations.fromJson(
json.decode(
await rootBundle.loadString('assets/locations.json'),
) as Map<String, dynamic>,
);
}

@ -0,0 +1,83 @@
/*
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'locations.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
LatLng _$LatLngFromJson(Map<String, dynamic> json) => LatLng(
lat: (json['lat'] as num).toDouble(),
lng: (json['lng'] as num).toDouble(),
);
Map<String, dynamic> _$LatLngToJson(LatLng instance) => <String, dynamic>{
'lat': instance.lat,
'lng': instance.lng,
};
Region _$RegionFromJson(Map<String, dynamic> json) => Region(
coords: LatLng.fromJson(json['coords'] as Map<String, dynamic>),
id: json['id'] as String,
name: json['name'] as String,
zoom: (json['zoom'] as num).toDouble(),
);
Map<String, dynamic> _$RegionToJson(Region instance) => <String, dynamic>{
'coords': instance.coords,
'id': instance.id,
'name': instance.name,
'zoom': instance.zoom,
};
Office _$OfficeFromJson(Map<String, dynamic> json) => Office(
address: json['address'] as String,
id: json['id'] as String,
image: json['image'] as String,
lat: (json['lat'] as num).toDouble(),
lng: (json['lng'] as num).toDouble(),
name: json['name'] as String,
phone: json['phone'] as String,
region: json['region'] as String,
);
Map<String, dynamic> _$OfficeToJson(Office instance) => <String, dynamic>{
'address': instance.address,
'id': instance.id,
'image': instance.image,
'lat': instance.lat,
'lng': instance.lng,
'name': instance.name,
'phone': instance.phone,
'region': instance.region,
};
Locations _$LocationsFromJson(Map<String, dynamic> json) => Locations(
offices: (json['offices'] as List<dynamic>)
.map((e) => Office.fromJson(e as Map<String, dynamic>))
.toList(),
regions: (json['regions'] as List<dynamic>)
.map((e) => Region.fromJson(e as Map<String, dynamic>))
.toList(),
);
Map<String, dynamic> _$LocationsToJson(Locations instance) => <String, dynamic>{
'offices': instance.offices,
'regions': instance.regions,
};

@ -0,0 +1,26 @@
name: google_maps_in_flutter
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: '>=2.19.0 <3.0.0'
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
google_maps_flutter: ^2.2.1
google_maps_flutter_web: ^0.4.0+3
http: ^0.13.5
json_annotation: ^4.7.0
json_serializable: ^6.5.4
dev_dependencies:
analysis_defaults:
path: ../analysis_defaults
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
build_runner: ^2.3.2
flutter:
uses-material-design: true
assets:
- assets/locations.json

@ -0,0 +1,26 @@
/*
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import 'package:flutter_test/flutter_test.dart';
import 'package:google_maps_in_flutter/main.dart';
void main() {
testWidgets('Do nothing test', (tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp());
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="google_maps_in_flutter">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<!-- Add your Google Maps API key here -->
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBFVI6nt-1Yn_lFYWMidyqUk8ca0eE1Sv8"></script>
<title>google_maps_in_flutter</title>
<link rel="manifest" href="manifest.json">
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = null;
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>
</head>
<body>
<script>
window.addEventListener('load', function(ev) {
// Download main.dart.js
_flutter.loader.loadEntrypoint({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
}
}).then(function(engineInitializer) {
return engineInitializer.initializeEngine();
}).then(function(appRunner) {
return appRunner.runApp();
});
});
</script>
</body>
</html>

@ -0,0 +1,35 @@
{
"name": "google_maps_in_flutter",
"short_name": "google_maps_in_flutter",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"description": "A new Flutter project.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
{
"src": "icons/Icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/Icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/Icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/Icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}

@ -41,6 +41,7 @@ declare -ar PROJECT_NAMES=(
"flutter_maps_firestore"
"form_app"
"game_template"
"google_maps"
"infinite_list"
"ios_app_clip"
"isolate_example"

@ -41,6 +41,7 @@ declare -ar PROJECT_NAMES=(
"flutter_maps_firestore"
"form_app"
"game_template"
"google_maps"
"infinite_list"
"ios_app_clip"
"isolate_example"

@ -37,6 +37,7 @@ declare -ar PROJECT_NAMES=(
"flutter_maps_firestore"
"form_app"
"game_template"
"google_maps"
"infinite_list"
"ios_app_clip"
"isolate_example"

Loading…
Cancel
Save