Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladiMihaylenko <vxmihaylenko@gmail.com>2016-12-08 19:12:12 +0300
committerИлья Гречухин <i.grechuhin@gmail.com>2016-12-09 11:27:35 +0300
commita6d2e97434ae09d3d7972ec6d79411270fdacb94 (patch)
tree5c75ab1ce99cced234aeafb57598da98b4f53eec /iphone/Maps
parent68e9bbfcca32a5cc02bbbdfd84e0ec4cba41a0ed (diff)
[ios] Uber from place page.
Diffstat (limited to 'iphone/Maps')
-rw-r--r--iphone/Maps/Classes/MWMPlacePageData.h5
-rw-r--r--iphone/Maps/Classes/MWMPlacePageData.mm13
-rw-r--r--iphone/Maps/Classes/MWMPlacePageInfoCell.mm6
-rw-r--r--iphone/Maps/Classes/MWMPlacePageLayout.mm12
-rw-r--r--iphone/Maps/Classes/MWMPlacePageManager.mm10
-rw-r--r--iphone/Maps/Classes/MWMPlacePageProtocol.h1
-rw-r--r--iphone/Maps/Classes/MWMPlacePageTaxiCell.h9
-rw-r--r--iphone/Maps/Classes/MWMPlacePageTaxiCell.mm14
-rw-r--r--iphone/Maps/Classes/MWMPlacePageTaxiCell.xib82
-rw-r--r--iphone/Maps/Classes/Routing/MWMRouter.mm6
-rw-r--r--iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/Contents.json26
-rw-r--r--iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi.pngbin0 -> 167 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@2x.pngbin0 -> 199 bytes
-rw-r--r--iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@3x.pngbin0 -> 363 bytes
-rw-r--r--iphone/Maps/Maps.xcodeproj/project.pbxproj18
-rw-r--r--iphone/Maps/Statistics/StatisticsStrings.h2
16 files changed, 195 insertions, 9 deletions
diff --git a/iphone/Maps/Classes/MWMPlacePageData.h b/iphone/Maps/Classes/MWMPlacePageData.h
index 4c1b6ef4af..2995ec0d82 100644
--- a/iphone/Maps/Classes/MWMPlacePageData.h
+++ b/iphone/Maps/Classes/MWMPlacePageData.h
@@ -35,7 +35,8 @@ enum class MetainfoRows
Cuisine,
Operator,
Internet,
- Coordinate
+ Coordinate,
+ Taxi
};
enum class ButtonsRows
@@ -118,6 +119,8 @@ enum class OpeningHours
- (m2::PointD const &)mercator;
- (ms::LatLon)latLon;
+- (NSArray<NSString *> *)statisticsTags;
+
// TODO(Vlad): Use MWMSettings to store coordinate format.
+ (void)toggleCoordinateSystem;
diff --git a/iphone/Maps/Classes/MWMPlacePageData.mm b/iphone/Maps/Classes/MWMPlacePageData.mm
index 37299b848c..bd3338101b 100644
--- a/iphone/Maps/Classes/MWMPlacePageData.mm
+++ b/iphone/Maps/Classes/MWMPlacePageData.mm
@@ -110,6 +110,8 @@ using namespace place_page;
m_metainfoRows.push_back(MetainfoRows::Address);
m_metainfoRows.push_back(MetainfoRows::Coordinate);
+ if (m_info.IsReachableByTaxi())
+ m_metainfoRows.push_back(MetainfoRows::Taxi);
}
- (void)fillButtonsSection
@@ -331,6 +333,7 @@ using namespace place_page;
{
switch (row)
{
+ case MetainfoRows::Taxi:
case MetainfoRows::ExtendedOpeningHours: return nil;
case MetainfoRows::OpeningHours: return @(m_info.GetOpeningHours().c_str());
case MetainfoRows::Phone: return @(m_info.GetPhone().c_str());
@@ -371,4 +374,14 @@ using namespace place_page;
[ud synchronize];
}
+#pragma mark - Stats
+
+- (NSArray<NSString *> *)statisticsTags
+{
+ NSMutableArray<NSString *> * result = [@[] mutableCopy];
+ for (auto const & s : m_info.GetRawTypes())
+ [result addObject:@(s.c_str())];
+ return result.copy;
+}
+
@end
diff --git a/iphone/Maps/Classes/MWMPlacePageInfoCell.mm b/iphone/Maps/Classes/MWMPlacePageInfoCell.mm
index 3f153e4c9e..504cd8b362 100644
--- a/iphone/Maps/Classes/MWMPlacePageInfoCell.mm
+++ b/iphone/Maps/Classes/MWMPlacePageInfoCell.mm
@@ -79,7 +79,8 @@
name = @"coordinate";
break;
case MetainfoRows::ExtendedOpeningHours:
- case MetainfoRows::OpeningHours: NSAssert(false, @"Incorrect cell type!"); break;
+ case MetainfoRows::OpeningHours:
+ case MetainfoRows::Taxi: NSAssert(false, @"Incorrect cell type!"); break;
}
[self configWithIconName:name data:[data stringForRow:row]];
}
@@ -152,7 +153,8 @@
case MetainfoRows::Operator:
case MetainfoRows::OpeningHours:
case MetainfoRows::Address:
- case MetainfoRows::Internet: break;
+ case MetainfoRows::Internet:
+ case MetainfoRows::Taxi: break;
}
}
diff --git a/iphone/Maps/Classes/MWMPlacePageLayout.mm b/iphone/Maps/Classes/MWMPlacePageLayout.mm
index 4f93d3e0fa..0241e8a1c0 100644
--- a/iphone/Maps/Classes/MWMPlacePageLayout.mm
+++ b/iphone/Maps/Classes/MWMPlacePageLayout.mm
@@ -3,12 +3,13 @@
#import "MWMCircularProgress.h"
#import "MWMiPadPlacePageLayoutImpl.h"
#import "MWMiPhonePlacePageLayoutImpl.h"
+#import "MWMOpeningHoursLayoutHelper.h"
#import "MWMPlacePageButtonCell.h"
#import "MWMPlacePageCellUpdateProtocol.h"
#import "MWMPlacePageData.h"
#import "MWMPlacePageInfoCell.h"
#import "MWMPlacePageLayoutImpl.h"
-#import "MWMOpeningHoursLayoutHelper.h"
+#import "MWMPlacePageTaxiCell.h"
#import "MWMPPPreviewLayoutHelper.h"
#import "UIColor+MapsMeColor.h"
@@ -31,7 +32,8 @@ map<MetainfoRows, NSString *> const kMetaInfoCells = {
{MetainfoRows::Cuisine, @"PlacePageInfoCell"},
{MetainfoRows::Operator, @"PlacePageInfoCell"},
{MetainfoRows::Coordinate, @"PlacePageInfoCell"},
- {MetainfoRows::Internet, @"PlacePageInfoCell"}};
+ {MetainfoRows::Internet, @"PlacePageInfoCell"},
+ {MetainfoRows::Taxi, @"MWMPlacePageTaxiCell"}};
array<NSString *, 1> const kButtonsCells = {{@"MWMPlacePageButtonCell"}};
@@ -340,6 +342,12 @@ array<NSString *, 1> const kButtonsCells = {{@"MWMPlacePageButtonCell"}};
[c configWithRow:row data:data];
return c;
}
+ case MetainfoRows::Taxi:
+ {
+ MWMPlacePageTaxiCell * c = [tableView dequeueReusableCellWithIdentifier:kMetaInfoCells.at(row)];
+ c.delegate = delegate;
+ return c;
+ }
}
}
case Sections::Buttons:
diff --git a/iphone/Maps/Classes/MWMPlacePageManager.mm b/iphone/Maps/Classes/MWMPlacePageManager.mm
index a1bbe01bf4..2801ef6452 100644
--- a/iphone/Maps/Classes/MWMPlacePageManager.mm
+++ b/iphone/Maps/Classes/MWMPlacePageManager.mm
@@ -175,6 +175,16 @@
[self closePlacePage];
}
+- (void)taxiTo
+{
+ [Statistics logEvent:kStatPlacePageTaxiClick
+ withParameters:@{kStatProvider : kStatUber, kStatTags : self.data.statisticsTags}];
+ auto router = [MWMRouter router];
+ router.type = routing::RouterType::Taxi;
+ [router buildToPoint:self.target bestRouter:NO];
+ [self closePlacePage];
+}
+
- (MWMRoutePoint)target
{
NSString * name = nil;
diff --git a/iphone/Maps/Classes/MWMPlacePageProtocol.h b/iphone/Maps/Classes/MWMPlacePageProtocol.h
index 8a5a4c2835..82dc518086 100644
--- a/iphone/Maps/Classes/MWMPlacePageProtocol.h
+++ b/iphone/Maps/Classes/MWMPlacePageProtocol.h
@@ -29,6 +29,7 @@
- (void)addBusiness;
- (void)book:(BOOL)isDescription;
- (void)editBookmark;
+- (void)taxiTo;
@end
diff --git a/iphone/Maps/Classes/MWMPlacePageTaxiCell.h b/iphone/Maps/Classes/MWMPlacePageTaxiCell.h
new file mode 100644
index 0000000000..8d3292f415
--- /dev/null
+++ b/iphone/Maps/Classes/MWMPlacePageTaxiCell.h
@@ -0,0 +1,9 @@
+#import "MWMTableViewCell.h"
+
+@protocol MWMPlacePageButtonsProtocol;
+
+@interface MWMPlacePageTaxiCell : MWMTableViewCell
+
+- (void)setDelegate:(id<MWMPlacePageButtonsProtocol>)delegate;
+
+@end
diff --git a/iphone/Maps/Classes/MWMPlacePageTaxiCell.mm b/iphone/Maps/Classes/MWMPlacePageTaxiCell.mm
new file mode 100644
index 0000000000..ccf3e84bf6
--- /dev/null
+++ b/iphone/Maps/Classes/MWMPlacePageTaxiCell.mm
@@ -0,0 +1,14 @@
+#import "MWMPlacePageTaxiCell.h"
+#import "MWMPlacePageProtocol.h"
+
+@interface MWMPlacePageTaxiCell()
+
+@property(weak, nonatomic) id<MWMPlacePageButtonsProtocol> delegate;
+
+@end
+
+@implementation MWMPlacePageTaxiCell
+
+- (IBAction)orderTaxi { [self.delegate taxiTo]; }
+
+@end
diff --git a/iphone/Maps/Classes/MWMPlacePageTaxiCell.xib b/iphone/Maps/Classes/MWMPlacePageTaxiCell.xib
new file mode 100644
index 0000000000..cf9981eb29
--- /dev/null
+++ b/iphone/Maps/Classes/MWMPlacePageTaxiCell.xib
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11542" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+ <device id="retina4_7" orientation="portrait">
+ <adaptation id="fullscreen"/>
+ </device>
+ <dependencies>
+ <deployment identifier="iOS"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11524"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <objects>
+ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+ <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="MWMPlacePageTaxiCell" rowHeight="66" id="16z-3Y-tuS" customClass="MWMPlacePageTaxiCell">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="64"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="16z-3Y-tuS" id="5rg-b2-ZRm">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="63"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_placepage_taxi" translatesAutoresizingMaskIntoConstraints="NO" id="Y6E-Lj-WUA">
+ <rect key="frame" x="16" y="18" width="28" height="28"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="28" id="00V-V7-7X3"/>
+ <constraint firstAttribute="width" constant="28" id="H0O-6d-RuH"/>
+ </constraints>
+ <userDefinedRuntimeAttributes>
+ <userDefinedRuntimeAttribute type="string" keyPath="coloring" value="MWMBlack"/>
+ </userDefinedRuntimeAttributes>
+ </imageView>
+ <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Uber" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bRB-nP-rFu">
+ <rect key="frame" x="60" y="22" width="38" height="21"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <nil key="textColor"/>
+ <nil key="highlightedColor"/>
+ <userDefinedRuntimeAttributes>
+ <userDefinedRuntimeAttribute type="string" keyPath="fontName" value="regular17"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="colorName" value="blackPrimaryText"/>
+ </userDefinedRuntimeAttributes>
+ </label>
+ <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="501" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zWn-ti-hGb">
+ <rect key="frame" x="305" y="13" width="56" height="38"/>
+ <fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="15"/>
+ <inset key="contentEdgeInsets" minX="8" minY="10" maxX="8" maxY="10"/>
+ <state key="normal" title="Order"/>
+ <userDefinedRuntimeAttributes>
+ <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+ <integer key="value" value="4"/>
+ </userDefinedRuntimeAttribute>
+ <userDefinedRuntimeAttribute type="color" keyPath="layer.borderUIColor">
+ <color key="value" red="0.11764705882352941" green="0.58823529411764708" blue="0.94117647058823528" alpha="1" colorSpace="calibratedRGB"/>
+ </userDefinedRuntimeAttribute>
+ <userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
+ <integer key="value" value="1"/>
+ </userDefinedRuntimeAttribute>
+ <userDefinedRuntimeAttribute type="string" keyPath="localizedText" value="taxi_order"/>
+ <userDefinedRuntimeAttribute type="string" keyPath="textColorName" value="linkBlue"/>
+ </userDefinedRuntimeAttributes>
+ <connections>
+ <action selector="orderTaxi" destination="16z-3Y-tuS" eventType="touchUpInside" id="Yhy-5a-CZU"/>
+ </connections>
+ </button>
+ </subviews>
+ <constraints>
+ <constraint firstAttribute="trailing" secondItem="zWn-ti-hGb" secondAttribute="trailing" constant="14" id="8tQ-Ph-utT"/>
+ <constraint firstItem="zWn-ti-hGb" firstAttribute="centerY" secondItem="Y6E-Lj-WUA" secondAttribute="centerY" id="Ail-KT-z9T"/>
+ <constraint firstItem="Y6E-Lj-WUA" firstAttribute="centerY" secondItem="5rg-b2-ZRm" secondAttribute="centerY" id="CVy-kW-FS0"/>
+ <constraint firstItem="zWn-ti-hGb" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="bRB-nP-rFu" secondAttribute="trailing" constant="10" id="CXF-0K-kiK"/>
+ <constraint firstItem="Y6E-Lj-WUA" firstAttribute="leading" secondItem="5rg-b2-ZRm" secondAttribute="leading" constant="16" id="KFV-KV-GfB"/>
+ <constraint firstItem="bRB-nP-rFu" firstAttribute="leading" secondItem="Y6E-Lj-WUA" secondAttribute="trailing" constant="16" id="b2l-o1-r9W"/>
+ <constraint firstItem="bRB-nP-rFu" firstAttribute="centerY" secondItem="Y6E-Lj-WUA" secondAttribute="centerY" id="cPH-2g-B9a"/>
+ <constraint firstItem="zWn-ti-hGb" firstAttribute="top" secondItem="5rg-b2-ZRm" secondAttribute="top" constant="12.5" id="eqw-Bf-Mal"/>
+ <constraint firstAttribute="bottom" secondItem="zWn-ti-hGb" secondAttribute="bottom" constant="12.5" id="vno-dE-n9V"/>
+ </constraints>
+ </tableViewCellContentView>
+ <point key="canvasLocation" x="18.5" y="45"/>
+ </tableViewCell>
+ </objects>
+ <resources>
+ <image name="ic_placepage_taxi" width="28" height="28"/>
+ </resources>
+</document>
diff --git a/iphone/Maps/Classes/Routing/MWMRouter.mm b/iphone/Maps/Classes/Routing/MWMRouter.mm
index d4f0aa5dc9..820ac5e844 100644
--- a/iphone/Maps/Classes/Routing/MWMRouter.mm
+++ b/iphone/Maps/Classes/Routing/MWMRouter.mm
@@ -162,9 +162,6 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
- (void)rebuildWithBestRouter:(BOOL)bestRouter
{
[self clearAltitudeImagesData];
- // Taxi can't be used as best router.
- if ([MWMRouter isTaxi])
- bestRouter = NO;
bool isP2P = false;
if (self.startPoint.IsMyPosition())
@@ -193,7 +190,8 @@ bool isMarkerPoint(MWMRoutePoint const & point) { return point.IsValid() && !poi
auto & f = GetFramework();
auto const & startPoint = self.startPoint.Point();
auto const & finishPoint = self.finishPoint.Point();
- if (bestRouter)
+ // Taxi can't be used as best router.
+ if (bestRouter && ![MWMRouter isTaxi])
self.type = GetFramework().GetBestRouter(startPoint, finishPoint);
f.BuildRoute(startPoint, finishPoint, isP2P, 0 /* timeoutSec */);
f.SetRouteStartPoint(startPoint, isMarkerPoint(self.startPoint));
diff --git a/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/Contents.json b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/Contents.json
new file mode 100644
index 0000000000..513dad0d26
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_placepage_taxi.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_placepage_taxi@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_placepage_taxi@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+} \ No newline at end of file
diff --git a/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi.png b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi.png
new file mode 100644
index 0000000000..54a64703c6
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@2x.png b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@2x.png
new file mode 100644
index 0000000000..f908857a1b
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@2x.png
Binary files differ
diff --git a/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@3x.png b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@3x.png
new file mode 100644
index 0000000000..0c87a5096d
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Place Page/ic_placepage_taxi.imageset/ic_placepage_taxi@3x.png
Binary files differ
diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj
index acead740a7..3e3acd4139 100644
--- a/iphone/Maps/Maps.xcodeproj/project.pbxproj
+++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj
@@ -1186,6 +1186,12 @@
F626D5301C3E840600C17D15 /* MWMNightModeController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F6B2E61E1C3D5F31005562DF /* MWMNightModeController.mm */; };
F626D5331C3E846E00C17D15 /* UIImageView+Coloring.mm in Sources */ = {isa = PBXBuildFile; fileRef = F62F1D941C3281F1006CF38E /* UIImageView+Coloring.mm */; };
F62F1D951C3281F1006CF38E /* UIImageView+Coloring.mm in Sources */ = {isa = PBXBuildFile; fileRef = F62F1D941C3281F1006CF38E /* UIImageView+Coloring.mm */; };
+ F63421EF1DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = F63421EE1DF975A800A96868 /* MWMPlacePageTaxiCell.mm */; };
+ F63421F01DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = F63421EE1DF975A800A96868 /* MWMPlacePageTaxiCell.mm */; };
+ F63421F11DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */ = {isa = PBXBuildFile; fileRef = F63421EE1DF975A800A96868 /* MWMPlacePageTaxiCell.mm */; };
+ F63421F31DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F63421F21DF975CB00A96868 /* MWMPlacePageTaxiCell.xib */; };
+ F63421F41DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F63421F21DF975CB00A96868 /* MWMPlacePageTaxiCell.xib */; };
+ F63421F51DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F63421F21DF975CB00A96868 /* MWMPlacePageTaxiCell.xib */; };
F634C8F01D79994900BE04E2 /* _MWMPPPTitle.xib in Resources */ = {isa = PBXBuildFile; fileRef = F634C8EF1D79994900BE04E2 /* _MWMPPPTitle.xib */; };
F634C8F11D79994900BE04E2 /* _MWMPPPTitle.xib in Resources */ = {isa = PBXBuildFile; fileRef = F634C8EF1D79994900BE04E2 /* _MWMPPPTitle.xib */; };
F634C8F31D79996D00BE04E2 /* _MWMPPPExternalTitle.xib in Resources */ = {isa = PBXBuildFile; fileRef = F634C8F21D79996D00BE04E2 /* _MWMPPPExternalTitle.xib */; };
@@ -2010,6 +2016,9 @@
F626D52D1C3E6CAA00C17D15 /* MWMTableViewCell.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMTableViewCell.mm; sourceTree = "<group>"; };
F62F1D931C3281F1006CF38E /* UIImageView+Coloring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+Coloring.h"; sourceTree = "<group>"; };
F62F1D941C3281F1006CF38E /* UIImageView+Coloring.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "UIImageView+Coloring.mm"; sourceTree = "<group>"; };
+ F63421ED1DF975A800A96868 /* MWMPlacePageTaxiCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMPlacePageTaxiCell.h; sourceTree = "<group>"; };
+ F63421EE1DF975A800A96868 /* MWMPlacePageTaxiCell.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMPlacePageTaxiCell.mm; sourceTree = "<group>"; };
+ F63421F21DF975CB00A96868 /* MWMPlacePageTaxiCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MWMPlacePageTaxiCell.xib; sourceTree = "<group>"; };
F634C8EF1D79994900BE04E2 /* _MWMPPPTitle.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = _MWMPPPTitle.xib; sourceTree = "<group>"; };
F634C8F21D79996D00BE04E2 /* _MWMPPPExternalTitle.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = _MWMPPPExternalTitle.xib; sourceTree = "<group>"; };
F634C8F51D79997700BE04E2 /* _MWMPPPSubtitle.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = _MWMPPPSubtitle.xib; sourceTree = "<group>"; };
@@ -3723,6 +3732,9 @@
3491E7C81C06F1F10042FE24 /* MWMPlacePageButtonCell.h */,
3491E7C91C06F1F10042FE24 /* MWMPlacePageButtonCell.mm */,
3491E7CA1C06F1F10042FE24 /* MWMPlacePageButtonCell.xib */,
+ F63421ED1DF975A800A96868 /* MWMPlacePageTaxiCell.h */,
+ F63421EE1DF975A800A96868 /* MWMPlacePageTaxiCell.mm */,
+ F63421F21DF975CB00A96868 /* MWMPlacePageTaxiCell.xib */,
);
name = Cells;
sourceTree = "<group>";
@@ -4135,6 +4147,7 @@
34AB04B71CEC95B500CE8B36 /* MWMEditorAdditionalNamePlaceholderTableViewCell.xib in Resources */,
FA46DA2C12D4166E00968C36 /* countries.txt in Resources */,
671182E21C7F0DD400CB8177 /* packed_polygons_obsolete.bin in Resources */,
+ F63421F31DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */,
4A23D15C1B8B4DD700D4EB6F /* resources-6plus_clear in Resources */,
341F99DB1C6B1165001C67B8 /* MWMMapDownloaderPlaceTableViewCell.xib in Resources */,
EE583CBB12F773F00042CBE3 /* unicode_blocks.txt in Resources */,
@@ -4301,6 +4314,7 @@
34AB04B81CEC95B500CE8B36 /* MWMEditorAdditionalNamePlaceholderTableViewCell.xib in Resources */,
6741A9481BF340DE002C974C /* MWMSearchTabbedCollectionViewCell.xib in Resources */,
6741A9491BF340DE002C974C /* countries.txt in Resources */,
+ F63421F41DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */,
F69E91211D994D1A00D7A778 /* MWMOpeningHoursCell.xib in Resources */,
6741A94A1BF340DE002C974C /* resources-6plus_clear in Resources */,
6741A94B1BF340DE002C974C /* unicode_blocks.txt in Resources */,
@@ -4479,6 +4493,7 @@
849CF6001DE842290024A8A5 /* MWMPPView.xib in Resources */,
849CF6011DE842290024A8A5 /* MWMDownloaderDialogHeader.xib in Resources */,
849CF6021DE842290024A8A5 /* World.mwm in Resources */,
+ F63421F51DF975CB00A96868 /* MWMPlacePageTaxiCell.xib in Resources */,
849CF6031DE842290024A8A5 /* resources-hdpi_dark in Resources */,
849CF6041DE842290024A8A5 /* 01_dejavusans.ttf in Resources */,
849CF6051DE842290024A8A5 /* 02_droidsans-fallback.ttf in Resources */,
@@ -4872,6 +4887,7 @@
F69AEEB91DDB263E00BE034A /* MWMOpeningHoursLayoutHelper.mm in Sources */,
341F99DD1C6B1165001C67B8 /* MWMMapDownloaderSubplaceTableViewCell.mm in Sources */,
343FAC4A1CBFBDFC00A45D3B /* MWMNoMapsView.mm in Sources */,
+ F63421EF1DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */,
6BA0BCD11B74DDBA00CC9969 /* MWMCustomFacebookEvents.mm in Sources */,
978F9244183B660F000D6C7C /* SwitchCell.mm in Sources */,
342AD7721B53D32F00E0B997 /* UIView+RuntimeAttributes.mm in Sources */,
@@ -5125,6 +5141,7 @@
F69AEEBA1DDB263E00BE034A /* MWMOpeningHoursLayoutHelper.mm in Sources */,
F626D5331C3E846E00C17D15 /* UIImageView+Coloring.mm in Sources */,
343FAC4B1CBFBDFC00A45D3B /* MWMNoMapsView.mm in Sources */,
+ F63421F01DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */,
6741AA191BF340DE002C974C /* MWMDownloaderDialogCell.mm in Sources */,
6741AA1B1BF340DE002C974C /* MWMDirectionView.mm in Sources */,
3491E7CC1C06F1F10042FE24 /* MWMPlacePageButtonCell.mm in Sources */,
@@ -5195,6 +5212,7 @@
849CF68D1DE842290024A8A5 /* MWMLocationManager.mm in Sources */,
849CF68E1DE842290024A8A5 /* MWMMapDownloaderAdsTableViewCell.mm in Sources */,
849CF68F1DE842290024A8A5 /* MWMSearchShowOnMapCell.mm in Sources */,
+ F63421F11DF975A800A96868 /* MWMPlacePageTaxiCell.mm in Sources */,
849CF6901DE842290024A8A5 /* MWMSearchTabButtonsView.mm in Sources */,
849CF6911DE842290024A8A5 /* MWMSideButtons.mm in Sources */,
849CF6921DE842290024A8A5 /* MWMMapDownloaderDataSource.mm in Sources */,
diff --git a/iphone/Maps/Statistics/StatisticsStrings.h b/iphone/Maps/Statistics/StatisticsStrings.h
index bc8a509887..94215cfde9 100644
--- a/iphone/Maps/Statistics/StatisticsStrings.h
+++ b/iphone/Maps/Statistics/StatisticsStrings.h
@@ -157,6 +157,7 @@ static NSString * const kPlacePageHotelBook = @"Placepage_Hotel_book";
static NSString * const kPlacePageHotelDetails = @"Placepage_Hotel_details";
static NSString * const kStatPlacePageNonBuilding = @"placepage_nonbuilding";
static NSString * const kPlacePageRestaurantBook = @"Placepage_Restaurant_book";
+static NSString * const kStatPlacePageTaxiClick = @"Placepage_Taxi_click";
static NSString * const kStatPointToPoint = @"Point to point";
static NSString * const kStatPortrait = @"Portrait";
static NSString * const kStatProblem = @"Problem";
@@ -198,6 +199,7 @@ static NSString * const kStatSwapRoutingPoints = @"Swap routing points";
static NSString * const kStatTTS = @"TTS";
static NSString * const kStatTTSSettings = @"TTS settings";
static NSString * const kStatTable = @"Table";
+static NSString * const kStatTags = @"tags";
static NSString * const kStatToLocation = @"to_location";
static NSString * const kStatToMyPosition = @"To my position";
static NSString * const kStatToggleBookmark = @"Toggle bookmark";