ericnewton76 / gmaps-api-net

C# google maps api interface for interacting with the backend web services for Google Maps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Namespace cleanup for Release v1.0

ericnewton76 opened this issue · comments

I wanted to cleanup the namespace Google.Maps for our pending Release v1.0. Key consideration is "shortest code for setting up the request" not for diving deep into the hierarchy.

Most of the types (dumped?) into the Google.Maps namespace will be moved except for certain "expected" things. This is to keep the common API parts easy to access as Google.Maps.(Thing)

  • LatLng
  • Location
  • MapMarker/MapMarkerCollection moved to Common
  • Enums: MapTypes, Avoid, (GMapsImageFormats=>MapImageFormats), moved to Common
  • (MapColor=>GColor) moved to Common
  • (MapSize=>GSize) moved to Common
  • MapTypes moved to Common
  • Path moved to Common
  • TravelMode moved to Common
  • ViaLatLng moved to Common

Google.Maps.GoogleSigned and other signing stuff would move to Google.Maps.Signing decided against this

Serialization helpers move into Google.Maps.Internal.Serialization

Any IO/(Type)Helpers/Converters/Comparers etc move into Google.Maps.Internal to signify that you technically shouldnt need to use any of these types.

Most of the rest, that entail deep diving into the object hierarchy, would be in Google.Maps.Common so any types in Google.Maps.Shared move there too.

Trying to avoid anybody dropping a blanket using statement for Google.Maps.Internal, but would be normal to see

using Google.Maps;  //very often
using Google.Maps.Common;  //not so often unless diving deep into object trees

One issue is going to be types specific to the Service. I believe those should stay in their respective service namespace, because of the same consideration of keeping the core namespace clean.