Use image size for a 0x0 marker 78/88878/1
authorVarun <tallytalwar@gmail.com>
Wed, 21 Sep 2016 04:50:15 +0000 (00:50 -0400)
committerVarun <tallytalwar@gmail.com>
Wed, 21 Sep 2016 04:50:15 +0000 (00:50 -0400)
Change-Id: I3dde8b3caa1ebc9da22fd87ae8cdf745f21cdcec

src/mapzen/tangram_view.cpp

index 8a109f8..ad50098 100644 (file)
@@ -636,6 +636,11 @@ mapzen_error_e TangramView::updateMarker(maps_view_object_h object, Tangram::Mar
                error = maps_view_object_marker_get_size(object, &markerWidth, &markerHeight);
                if (error != MAPS_ERROR_NONE) { break; }
 
+               if (markerWidth == 0 || markerHeight == 0) {
+                       markerWidth = imgWidth;
+                       markerHeight = imgHeight;
+               }
+
                float scaledWidth = scaleFactor * markerWidth;
                float scaledHeight = scaleFactor * markerHeight;
 
@@ -643,6 +648,7 @@ mapzen_error_e TangramView::updateMarker(maps_view_object_h object, Tangram::Mar
                styleString.resize(sz+1);
                std::snprintf(&styleString[0], styleString.size(), styleFormat, scaledWidth, scaledHeight, anchor.c_str());
 
+               MAPS_LOGD("Marker Style String: %s", styleString.c_str());
                m_map->markerSetStyling(tvMarker, styleString.c_str());
 
                error = maps_view_object_marker_get_coordinates(object, &mapsCoord);
@@ -688,6 +694,8 @@ mapzen_error_e TangramView::updatePolyline(maps_view_object_h object, Tangram::M
                styleString.resize(sz+1);
                std::snprintf(&styleString[0], styleString.size(), styleFormat, r, g, b, a, width);
 
+               MAPS_LOGD("Polyline Style String: %s", styleString.c_str());
+
                m_map->markerSetStyling(tvMarker, styleString.c_str());
 
                error = maps_view_object_polyline_foreach_point(object, emplaceCoord, &coords);
@@ -715,6 +723,8 @@ mapzen_error_e TangramView::updatePolygon(maps_view_object_h object, Tangram::Ma
                styleString.resize(sz+1);
                std::snprintf(&styleString[0], styleString.size(), styleFormat, r, g, b, a);
 
+               MAPS_LOGD("Polygon Style String: %s", styleString.c_str());
+
                m_map->markerSetStyling(tvMarker, styleString.c_str());
 
                error = maps_view_object_polygon_foreach_point(object, emplaceCoord, &coords);