Merge remote-tracking branch 'mapbox/master' into 2317-espresso

Conflicts:
	src/mbgl/util/geojsonvt
This commit is contained in:
Antonio Zugaldia
2015-09-15 17:58:36 -04:00
parent 187cc36eb5
commit 7e30025abb
26 changed files with 238 additions and 42 deletions

3
.gitmodules vendored
View File

@@ -14,6 +14,3 @@
path = platform/ios/vendor/SMCalloutView
url = https://github.com/nfarina/calloutview.git
[submodule "src/mbgl/util/geojsonvt"]
path = src/mbgl/util/geojsonvt
url = https://github.com/mapbox/geojson-vt-cpp

View File

@@ -17,6 +17,7 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondMapActivity" android:label="@string/activity_second"/>
<meta-data
android:name="io.fabric.ApiKey"
android:value="9724157045ff7d083492c6d9ae03e60e8609d461" />

View File

@@ -1,6 +1,7 @@
package com.mapbox.mapboxgl.testapp;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.PointF;
@@ -281,6 +282,10 @@ public class MainActivity extends AppCompatActivity {
menuItem.setChecked(mMapView.isCompassEnabled());
return true;
case R.id.action_second_map_activity:
startActivity(new Intent(getApplicationContext(), SecondMapActivity.class));
return true;
/*
case R.id.followNone:
mMapView.setUserLocationTrackingMode(MapView.UserLocationTrackingMode.NONE);

View File

@@ -0,0 +1,101 @@
package com.mapbox.mapboxgl.testapp;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import com.mapbox.mapboxgl.views.MapView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class SecondMapActivity extends AppCompatActivity {
private static final String TAG = "SecondMapActivity";
private MapView mMapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Toolbar toolbar = (Toolbar) findViewById(R.id.secondToolBar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
mMapView = (MapView) findViewById(R.id.secondMapView);
// Load the access token
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.token)));
String line = reader.readLine();
mMapView.setAccessToken(line);
} catch (IOException e) {
Log.e(TAG, "Error loading access token from token.txt: " + e.toString());
}
mMapView.onCreate(savedInstanceState);
mMapView.setStyleUrl(getString(R.string.styleURLEmerald));
}
/**
* Dispatch onStart() to all fragments. Ensure any created loaders are
* now started.
*/
@Override
protected void onStart() {
super.onStart();
mMapView.onStart();
}
@Override
protected void onStop() {
super.onStop();
mMapView.onStop();
}
// Called when our app goes into the background
@Override
public void onPause() {
super.onPause();
mMapView.onPause();
}
// Called when our app comes into the foreground
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
// Called when the system is running low on memory
@Override
public void onLowMemory() {
super.onLowMemory();
mMapView.onLowMemory();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/secondToolBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<com.mapbox.mapboxgl.views.MapView
android:id="@+id/secondMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>

View File

@@ -19,18 +19,24 @@
android:checkable="true"
/>
<!--
<group android:id="@+id/locationFollowModesSeparator"/>
<item android:id="@+id/action_second_map_activity"
android:icon="@drawable/ic_looks_two_white_24dp"
android:title="@string/action_second_map_activity"
android:checkable="false"
/>
<group android:id="@+id/locationFollowModes" android:checkableBehavior="single">
<item android:id="@+id/followNone"
android:title="@string/action_location_none"/>
<item android:id="@+id/followFollow"
android:title="@string/action_location_follow"/>
<item android:id="@+id/followBearing"
android:title="@string/action_location_bearing"/>
</group>
-->
<!--
<group android:id="@+id/locationFollowModesSeparator"/>
<group android:id="@+id/locationFollowModes" android:checkableBehavior="single">
<item android:id="@+id/followNone"
android:title="@string/action_location_none"/>
<item android:id="@+id/followFollow"
android:title="@string/action_location_follow"/>
<item android:id="@+id/followBearing"
android:title="@string/action_location_bearing"/>
</group>
-->
<group android:id="@+id/stylesSeparator"/>

View File

@@ -3,6 +3,8 @@
<string name="app_name">Mapbox GL</string>
<string name="activity_second">Second Activity</string>
<string name="action_gps">Toggle GPS location</string>
<string name="action_location_none">Disable tracking</string>
<string name="action_location_follow">Use follow tracking mode</string>
@@ -10,6 +12,7 @@
<string name="action_compass">Toggle compass</string>
<string name="action_debug">Toggle debug mode</string>
<string name="action_point_annotations">Toggle point annotations</string>
<string name="action_second_map_activity">Launch 2nd Map</string>
<string name="label_fps">FPS:</string>

30
configure vendored
View File

@@ -15,8 +15,15 @@ function abort { >&2 echo -e "\033[1m\033[31m$1\033[0m"; exit 1; }
function info { >&2 echo -e "\033[1m\033[33m$1\033[0m"; }
function warn { >&2 echo -e "\033[1m\033[33m$1\033[0m"; }
# Install mason
export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
if [ -d "`pwd`/.git" ]; then
info "This build is within a git repository"
export MASON_DIR="`pwd`/.mason"
export PATH="${MASON_DIR}:${PATH}"
else
info "This build is NOT within a git repository"
which mason || abort "You must install mason to build mapbox-gl-native (https://github.com/mapbox/mason)"
export MASON_DIR="$(dirname $(readlink $(which mason)))"
fi
# You can override the function for a particular set of flags by defining a
# print_XXX_flags function in your dependencies.sh file
@@ -37,6 +44,23 @@ function print_flags {
fi
}
function print_build_flags {
local NAME=$1; shift
if [ "$(type -t print_${NAME}_flags)" = 'function' ]; then
print_${NAME}_flags
else
local VERSION=`echo "${NAME}_VERSION" | tr "[:lower:]" "[:upper:]"`
if [ ! -z ${!VERSION:-} ] ; then
mason build ${NAME} ${!VERSION}
for FLAGS in "$@" ; do
CONFIG+=" '${NAME}_${FLAGS}%': $(quote_flags $(mason ${FLAGS} ${NAME} ${!VERSION})),"$LN
done
else
warn "* Not using ${NAME}"
fi
fi
}
function print_default_flags {
:
}
@@ -93,6 +117,8 @@ print_flags libuv static_libs cflags ldflags
print_flags zlib static_libs cflags ldflags
print_flags nunicode static_libs cflags ldflags
print_flags libzip static_libs cflags ldflags
print_build_flags geojsonvt static_libs cflags ldflags
print_flags variant static_libs cflags ldflags
CONFIG+=" }
}

View File

@@ -31,10 +31,14 @@
'<@(libuv_cflags)',
'<@(opengl_cflags)',
'<@(boost_cflags)',
'<@(geojsonvt_cflags)',
'<@(variant_cflags)',
],
'cflags': [
'<@(libuv_cflags)',
'<@(opengl_cflags)',
'<@(geojsonvt_cflags)',
'<@(variant_cflags)',
'-fPIC'
],
'ldflags': [
@@ -43,6 +47,7 @@
],
'libraries': [
'<@(libuv_static_libs)',
'<@(geojsonvt_static_libs)',
],
},

View File

@@ -13,7 +13,7 @@
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/include/mbgl/util/version.hpp',
],
'action': ['<@(_inputs)', '<(SHARED_INTERMEDIATE_DIR)', '<!@(git describe --tags --always --abbrev=0)', '<!@(git rev-parse HEAD)'],
'action': ['<@(_inputs)', '<(SHARED_INTERMEDIATE_DIR)'],
}
],
'direct_dependent_settings': {

View File

@@ -8,5 +8,7 @@ LIBUV_VERSION=1.4.0
ZLIB_VERSION=system
NUNICODE_VERSION=1.5.1
LIBZIP_VERSION=0.11.2
GEOJSONVT_VERSION=1.1.0
VARIANT_VERSION=1.0
export MASON_ANDROID_ABI=${MASON_PLATFORM_VERSION}

View File

@@ -1,22 +1,22 @@
#!/usr/bin/env python
import sys, os, errno, re
import sys, os, errno, re, subprocess
DEFAULT_TAG = [0, 0, 0]
DEFAULT_REV = 'unknown'
output_dir = sys.argv[1]
def is_git_repo():
try:
subprocess.check_output("git rev-parse", shell=True)
return True
except subprocess.CalledProcessError as exc:
return False
if len(sys.argv) <= 3:
tag = [0, 0, 0]
rev = sys.argv[2][0:8]
else:
# When they're identical, the git describe can't find a tag and reports the rev instead.
if sys.argv[2] == sys.argv[3]:
tag = [0, 0, 0]
else:
ver = re.sub("[^0-9.]", "", sys.argv[2])
tag = map(int, ver.split('.'))
rev = sys.argv[3][0:8]
def parse_tag(raw_tag):
return map(int, re.sub("[^0-9.]", "", raw_tag).split('.'))
def parse_rev(raw_rev):
return raw_rev[0:8]
def mkdir_p(path):
try:
@@ -27,6 +27,24 @@ def mkdir_p(path):
else: raise
output_dir = sys.argv[1]
if is_git_repo():
raw_tag = subprocess.check_output("git describe --tags --always --abbrev=0", shell=True)
raw_rev = subprocess.check_output("git rev-parse HEAD", shell=True)
# When they're identical, the "git describe" can't find a tag and reports the rev instead.
if raw_tag == raw_rev:
tag = DEFAULT_TAG
rev = parse_rev(raw_rev)
else:
tag = parse_tag(raw_tag)
rev = parse_rev(raw_rev)
else:
tag = DEFAULT_TAG
rev = DEFAULT_REV
header = """// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.
#ifndef MBGL_UTIL_VERSION
#define MBGL_UTIL_VERSION
@@ -60,4 +78,3 @@ extern const unsigned int number;
header_path = os.path.join(output_dir, 'include/mbgl/util/version.hpp')
mkdir_p(os.path.dirname(header_path))
with open(header_path, 'w') as f: f.write(header)

View File

@@ -4,3 +4,5 @@ BOOST_VERSION=1.57.0
SQLITE_VERSION=system
LIBUV_VERSION=0.10.28
ZLIB_VERSION=system
GEOJSONVT_VERSION=1.1.0
VARIANT_VERSION=1.0

View File

@@ -74,12 +74,14 @@ if [[ "${BUILD_FOR_DEVICE}" == true ]]; then
-o ${OUTPUT}/static/lib${NAME}.a \
${LIBS[@]/#/build/${BUILDTYPE}-iphoneos/libmbgl-} \
${LIBS[@]/#/build/${BUILDTYPE}-iphonesimulator/libmbgl-} \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libuv.a`
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libuv.a` \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libgeojsonvt.a`
else
libtool -static -no_warning_for_no_symbols \
-o ${OUTPUT}/static/lib${NAME}.a \
${LIBS[@]/#/build/${BUILDTYPE}-iphonesimulator/libmbgl-} \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libuv.a`
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libuv.a` \
`find mason_packages/ios-${IOS_SDK_VERSION} -type f -name libgeojsonvt.a`
fi
echo "Created ${OUTPUT}/static/lib${NAME}.a"

View File

@@ -11,6 +11,8 @@ LIBUV_VERSION=0.10.28
ZLIB_VERSION=system
NUNICODE_VERSION=1.5.1
LIBZIP_VERSION=0.11.2
GEOJSONVT_VERSION=1.1.0
VARIANT_VERSION=1.0
function print_opengl_flags {
CONFIG+=" 'opengl_cflags%': $(quote_flags $(pkg-config gl x11 --cflags)),"$LN

View File

@@ -16,6 +16,10 @@ HOST_VERSION ?= $(BUILD_VERSION)
export MASON_PLATFORM=$(HOST)
export MASON_PLATFORM_VERSION=$(HOST_VERSION)
ifneq (,$(wildcard scripts/$(HOST)/$(HOST_VERSION)/configure.sh))
CONFIGURE_FILES += scripts/$(HOST)/$(HOST_VERSION)/configure.sh
endif
HOST_SLUG = $(HOST)-$(HOST_VERSION)
CONFIGURE_FILES = scripts/$(HOST)/configure.sh
ifneq (,$(wildcard scripts/$(HOST)/$(HOST_VERSION)/configure.sh))
@@ -34,6 +38,7 @@ default: ;
#### Dependencies ##############################################################
ifneq (,$(wildcard .git/.))
SUBMODULES += .mason/mason.sh
.mason/mason.sh:
./scripts/flock.py .git/Submodule.lock git submodule update --init .mason
@@ -42,10 +47,6 @@ SUBMODULES += styles/styles
styles/styles:
./scripts/flock.py .git/Submodule.lock git submodule update --init styles
SUBMODULES += src/mbgl/util/geojsonvt/geojsonvt.hpp
src/mbgl/util/geojsonvt/geojsonvt.hpp:
./scripts/flock.py .git/Submodule.lock git submodule update --init src/mbgl/util/geojsonvt
ifeq ($(HOST),ios)
SUBMODULES += platform/ios/vendor/SMCalloutView/SMCalloutView.h
platform/ios/vendor/SMCalloutView/SMCalloutView.h:
@@ -55,6 +56,7 @@ SUBMODULES += test/ios/KIF/KIF.xcodeproj
test/ios/KIF/KIF.xcodeproj:
./scripts/flock.py .git/Submodule.lock git submodule update --init test/ios/KIF
endif
endif
# Wildcard targets get removed after build by default, but we want to preserve the config.
.PRECIOUS: config/%.gypi

View File

@@ -11,3 +11,5 @@ LIBUV_VERSION=0.10.28
ZLIB_VERSION=system
NUNICODE_VERSION=1.5.1
LIBZIP_VERSION=0.11.2
GEOJSONVT_VERSION=1.1.0
VARIANT_VERSION=1.0

View File

@@ -14,9 +14,6 @@ BUILDTYPE=${BUILDTYPE:-Release}
mapbox_time "checkout_styles" \
git submodule update --init styles
mapbox_time "checkout_geojsonvt" \
git submodule update --init src/mbgl/util/geojsonvt
mapbox_time "compile_program" \
make xosx -j${JOBS} BUILDTYPE=${BUILDTYPE}

View File

@@ -1,10 +1,11 @@
#include <mapbox/geojsonvt/geojsonvt_convert.hpp>
#include <mbgl/map/annotation.hpp>
#include <mbgl/annotation/point_annotation.hpp>
#include <mbgl/annotation/shape_annotation.hpp>
#include <mbgl/map/tile_id.hpp>
#include <mbgl/map/live_tile.hpp>
#include <mbgl/util/constants.hpp>
#include <mbgl/util/geojsonvt/geojsonvt_convert.hpp>
#include <mbgl/util/ptr.hpp>
#include <mbgl/util/string.hpp>

View File

@@ -1,13 +1,14 @@
#ifndef MBGL_MAP_ANNOTATIONS
#define MBGL_MAP_ANNOTATIONS
#include <mapbox/geojsonvt/geojsonvt.hpp>
#include <mbgl/map/map.hpp>
#include <mbgl/map/geometry_tile.hpp>
#include <mbgl/map/tile_id.hpp>
#include <mbgl/style/style_properties.hpp>
#include <mbgl/style/types.hpp>
#include <mbgl/util/geo.hpp>
#include <mbgl/util/geojsonvt/geojsonvt.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/vec.hpp>

View File

@@ -95,6 +95,7 @@
'libraries': [
'<@(libuv_static_libs)',
'<@(sqlite_static_libs)',
'<@(geojsonvt_static_libs)',
],
'variables': {
'cflags_cc': [
@@ -102,6 +103,8 @@
'<@(opengl_cflags)',
'<@(boost_cflags)',
'<@(sqlite_cflags)',
'<@(geojsonvt_cflags)',
'<@(variant_cflags)',
],
'ldflags': [
'<@(libuv_ldflags)',