Pinmaps.net API
About
Pinmaps.net is an online service that lets individuals easily search, save, share and quickly access their favorite
locations on a map. Pinmaps.net allows you to create maps where you can add map points (push pins) to it.
What makes this service stand out from other services is that you can save each map point with its own zoom level and map type.
We suggest that you get familiar with the Pinmaps.net service and understand the concepts behing it before attempting to use the API.
We're dedicating our effort and development resounces to make Pinmaps.net service better every day.
What you need
DeveloperApiLogin, DeveloperApiKey, Username, and UserApiKey.
Obtaining these four API Credentials is a three step process:
- You have to signup for the Pinmaps.net service
- You have to register as a Pinmaps.net Developer
- You need to obtain your user's API key
Maps API Methods
Introduction
A map is a large area
such as a city, a state, or a country that can hold many map points.
You can create several maps with lots of map points to suit your needs.
Important:
your map is like a container for your map points (push pins) See Sample Maps
GET v1/map
This method returns a single map
object by map ID
. The result does not include the map points
.
Request URL
Parameters
apiLoginrequired |
Developer's API login name |
developerKeyrequired |
Developer's API Key |
userNamerequired |
The username of the map owner |
userKeyrequired |
The user's API key of the map owner |
idrequired |
The id of the map you want to retrieve |
Json Response
{"MapID":2444, "MapName":"USA Airports", "Latitude":"38.06539235133249", "Longitude":"-96.10839844375", "ZoomLevel":"5", "MapType":"G_PHYSICAL_MAP", "MapOwner":"PinUser", "CreatedOn":"2013-03-15T14:20:52.993", "ModifiedOn":"2013-03-15T14:20:52.993", "IsShared":false, "MapLogo":"pinmaps_logo_trans.png", "RssUrl":"", "FitToBounds":true, "IconZomIn":true, "Overlays":"", "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }
GET v1/maps
This method returns a collection of maps
objects by username
. The list does not include the map points
.
Request URL
Parameters
apiLoginrequired |
Developer's API login name |
developerKeyrequired |
Developer's API Key |
userNamerequired |
The username of the map owner |
userKeyrequired |
The user's API key of the map owner |
Json Response
[{"MapID":2457, "MapName":"USA Customers", "Latitude":"38.06539235133249", "Longitude":"-96.10839844375", "ZoomLevel":"5", "MapType":"G_NORMAL_MAP", "MapOwner":"PinUser", "CreatedOn":"2013-03-15T21:21:56.6", "ModifiedOn":"2013-03-15T21:21:56.6", "IsShared":false, "MapLogo":"pinmaps_logo_trans.png", "RssUrl":"", "FitToBounds":true, "IconZomIn":true, "Overlays":"", "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} },{"MapID":2444, "MapName":"USA Airports", "Latitude":"38.06539235133249", "Longitude":"-96.10839844375", "ZoomLevel":"5", "MapType":"G_PHYSICAL_MAP", "MapOwner":"PinUser", "CreatedOn":"2013-03-15T14:20:52.993", "ModifiedOn":"2013-03-15T14:20:52.993", "IsShared":false,"MapLogo":"pinmaps_logo_trans.png", "RssUrl":"", "FitToBounds":true, "IconZomIn":true, "Overlays":"", "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }]
POST v1/map/create
This method creates a single map
on the selected MapZone
and returns the created
map object
Post format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
MapNamerequired |
Name of the map |
MapTypeoptional |
The types of maps you can display. Use only any of these values: ROADMAP, SATELLITE, HYBRID, TERRAIN If not value or wrong value is supplied a ROADMAP will be used. Map Types Definitions :ROADMAP: displays the default road map view SATELLITE: displays Google Earth satellite images HYBRID: displays a mixture of normal and satellite views TERRAIN: displays a physical map based on terrain information. |
Json Response
{"MapID":2463, "MapName":"USA Airports", "Latitude":"38.06539235133249", "Longitude":"-96.10839844375", "ZoomLevel":"5", "MapType":"G_NORMAL_MAP", "MapOwner":"PinUser", "CreatedOn":"2013-03-26T15:46:31.453", "ModifiedOn":null, "IsShared":false, "MapLogo":"pinmaps_logo_trans.png", "RssUrl":"", "FitToBounds":true, "IconZomIn":true, "Overlays":"", "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }
PUT v1/map/update
This method updates a single map
and returns the updated
map object
Put format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
MapIDrequired |
The id of the map you want to update |
MapNamerequired |
Name of the map (current or new) |
MapTypeoptional |
The types of maps you can display. Use only any of these values: ROADMAP, SATELLITE, HYBRID, TERRAIN If not value or wrong value is supplied a ROADMAP will be used. |
Json Response
{ "MapID":2444, "MapName":"USA Airports", "Latitude":"38.06539235133249", "Longitude":"-96.10839844375", "ZoomLevel":"5", "MapType":"G_PHYSICAL_MAP", "MapOwner":"PinUser", "CreatedOn":"2013-03-15T14:20:52.993", "ModifiedOn":"2013-03-17T21:12:23.035", "IsShared":false, "MapLogo":"pinmaps_logo_trans.png", "RssUrl":"", "FitToBounds":true, "IconZomIn":true, "Overlays":"", "Icon":{ "IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32" } }
DELETE v1/map/destroy
This method deletes a single map
object by map ID
Delete format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
MapIDrequired |
The id of the map you want to remove |
Json Response
{"MapID":2463,"UserName":"PinUser","PinsCount":14}
GET v1/maps/count
This method returns the total maps
count by username
.
Request URL
Parameters
apiloginrequired |
Developer's API login name |
developer keyrequired |
Developer's API Key |
usernamerequired |
The username of the map owner |
usekeyrequired |
The user's API key of the map owner |
Json Response
{"UserName":"PinUser","Count":2}
Map Points API Methods
Introduction
A map point is a location
on a map such as an address that is physically represented by an icon (marker).
Many map points can be added to a single map.
Important:
Each map point is an individual entity with it's own zoom level and map type. Sample Maps
GET v1/pin
This method returns a single map point
object by map point ID
.
Request URL
Parameters
apiloginrequired |
Developer's API login name |
developer keyrequired |
Developer's API Key |
usernamerequired |
The username of the map owner |
usekeyrequired |
The user's API key of the map owner |
idrequired |
The id of the map point you want to retrieve |
Json Response
{"MapPointID":5135, "MapID":2444, "UserName":"PinUser", "PointName":"Orlando International", "GeocodeAddress":"One Jeff Fuqua Blvd, Orlando, FL 32827, USA", "Latitude":"28.4316390", "Longitude":"-81.3082862", "ZoomLevel":"16", "MapType":"G_NORMAL_MAP", "PointInfo":"Main Airport hub where I take the flight to visit my clients", "DatePosted":"2013-03-15T14:38:54.51", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=28.4316390,-81.3082862&t=m&z=16", "Label":"Newark", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }
GET v1/pins
This method returns a collection of map points
objects by map ID
.
Request URL
Parameters
apiloginrequired |
Developer's API login name |
developer keyrequired |
Developer's API Key |
usernamerequired |
The username of the map owner |
usekeyrequired |
The user's API key of the map owner |
idrequired |
The id of the map containing the map points |
Json Response
[{"MapPointID":5135, "MapID":2444, "UserName":"PinUser", "PointName":"Orlando International", "GeocodeAddress":"One Jeff Fuqua Blvd, Orlando, FL 32827, USA", "Latitude":"28.4316390", "Longitude":"-81.3082862", "ZoomLevel":"16", "MapType":"G_NORMAL_MAP", "PointInfo":"Orlando International Airport (MCO)", "DatePosted":"2013-03-15T14:38:54.51", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=28.4316390,-81.3082862&t=m&z=16", "Label":"MCO", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png","IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} },{"MapPointID":5136, "MapID":2444, "UserName":"PinUser", "PointName":"Los Angeles International", "GeocodeAddress":"1 World Way, Los Angeles, CA 90045, USA", "Latitude":"33.9425000", "Longitude":"-118.4080560", "ZoomLevel":"16", "MapType":"G_NORMAL_MAP", "PointInfo":"Los Angeles International Airport (LAX)", "DatePosted":"2013-03-15T14:41:40.93", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=33.9425000,-118.4080560&t=m&z=16", "Label":"LAX", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32","IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} },{"MapPointID":5137, "MapID":2444, "UserName":"PinUser", "PointName":"Minneapolis-St Paul International (MSP)", "GeocodeAddress":"Terminal 1-Lindbergh, Glumack Drive, Saint Paul, MN 55111, USA", "Latitude":"44.8812340", "Longitude":"-93.2031110", "ZoomLevel":"16", "MapType":"G_NORMAL_MAP", "PointInfo":"Minneapolis-St Paul International Airport", "DatePosted":"2013-03-15T16:16:25.81", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=44.8812340,-93.2031110&t=m&z=16", "Label":"MSP", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} },{"MapPointID":5139, "MapID":2444, "UserName":"PinUser", "PointName":"Detroit Metropolitan Wayne County", "GeocodeAddress":"2500 West G Rogell Drive, Detroit, MI 48242, USA", "Latitude":"42.2083428", "Longitude":"-83.3571754", "ZoomLevel":"16", "MapType":"G_NORMAL_MAP", "PointInfo":"Detroit Metropolitan Wayne County Airport (DTW)", "DatePosted":"2013-03-15T16:27:56.207", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=42.2083428,-83.3571754&t=m&z=16", "Label":"DTW", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }]
POST v1/pin/create
This method creates a single map point
on a map and returns the created
map point object
Post format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
Addressrequired |
A Street number, Street name, City, State and Zip Code |
PointNamerequired |
The name of the map point |
MapIDrequired |
The id of the map where the map point (marker) will be added |
MapTypeoptional |
The types of maps you can display. Use only any of these values: ROADMAP, SATELLITE, HYBRID, TERRAIN If not value or wrong value is supplied a ROADMAP will be used. |
PointInformationoptional |
Add any information related about the map point. This text will be displayed on the info window bubble |
Labeloptional |
A short text that will be displayed under the icon (pin). The maximum lenght is 50 characters |
LabelIsVisibleoptional |
True or False. Option to show or hide the label |
IconIdoptional |
The id. Get the list of Icons IDs available here |
Json Response
{"MapPointID":5329, "MapID":2444, "UserName":"PinUser", "PointName":"Newark Liberty International", "GeocodeAddress":"1 Brewster Road, Newark, NJ 07114, USA", "Latitude":"40.6898700", "Longitude":"-74.1782100", "ZoomLevel":"16", "MapType":"G_SATELLITE_MAP", "PointInfo":"Newark International Airport (EWR)", "DatePosted":"2013-03-26T21:20:25.907", "ModifiedOn":null, "LinkToGoogleMaps":"maps.google.com/maps?q=40.6898700,-74.1782100&t=k&z=16", "Label":"EWR", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }
PUT v1/pin/update
This method updates a single map point
and returns the updated
map point object
Put format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
MapPointIDrequired |
The id of the map point you want to update |
MapIDrequired |
The id of the map where the map point (marker) will be updated |
Addressrequired |
A Street number, Street name, City, State and Zip Code |
PointNamerequired |
The name of the map point |
MapTypeoptional |
The types of maps you can display. Use only any of these values: ROADMAP, SATELLITE, HYBRID, TERRAIN If not value or wrong value is supplied a ROADMAP will be used. |
PointInformationoptional |
Add any information related about the map point. This text will be displayed on the info window bubble |
Labeloptional |
A short text that will be displayed under the icon (pin). The maximum lenght is 50 characters |
LabelIsVisibleoptional |
True or False. Option to show or hide the label |
IconIdoptional |
The id. Get the list of Icons IDs available here |
Json Response
{"MapPointID":5329, "MapID":2444, "UserName":"PinUser", "PointName":"Newark Liberty International", "GeocodeAddress":"1 Brewster Road, Newark, NJ 07114, USA", "Latitude":"40.6898700", "Longitude":"-74.1782100", "ZoomLevel":"16", "MapType":"G_SATELLITE_MAP", "PointInfo":"Newark International Airport (EWR)", "DatePosted":"2013-03-26T21:20:25.907", "ModifiedOn":"2013-03-27T17:14:12.608", "LinkToGoogleMaps":"maps.google.com/maps?q=40.6898700,-74.1782100&t=k&z=16", "Label":"EWR", "LabelIsVisible":true, "Icon":{"IconID":1, "IconName":"dot-red.png", "IconShadow":"msmarker_shadow.png", "IconWidth":"32", "IconHeight":"32", "ShadowWidth":"59", "ShadowHeight":"32"} }
DELETE v1/pin/destroy
This method deletes a single map point
object by map point ID
Delete format: json
Resource URL
Parameters
DeveloperApiLoginrequired |
Developer's API login name |
DeveloperApiKeyrequired |
Developer's API Key |
UserNamerequired |
The username of the map owner |
UserApiKeyrequired |
The user's API key of the map owner |
MapPointIDrequired |
The id of the map point you want to remove |
Json Response
{"MapPointID":5144,"UserName":"PinUser"}
GET v1/pins/count
This method returns the total map points
count by map ID
.
Request URL
Parameters
idrequired |
The id of the map point count you want to retrieve |
apiloginrequired |
Developer's API login name |
developer keyrequired |
Developer's API Key |
usernamerequired |
The username of the map owner |
usekeyrequired |
The user's API key of the map owner |
Json Response
{"MapID":397,"Count":83}
API Validation
GET v1/credentials/validate
This method validates both the Developer's
and the User's
API Credentials at the same time.
Request URL
Parameters
apiLoginrequired |
Developer's API login name |
developerKeyrequired |
Developer's API Key |
userNamerequired |
The username of the map owner |
userKeyrequired |
The user's API key of the map owner |
Json Response
{"valid":true}
GET v1/credentials/developer/validate
This method validate the Developer's
API Credentials.
Request URL
Parameters
apiLoginrequired |
Developer's API login name |
developerKeyrequired |
Developer's API Key |
Json Response
{"DeveloperApiLogin":"[MyAppLoginName]", "DeveloperApiKey":"[devapikey]", "DateCreated":"2013-03-18T09:37:34.683", "IsActive":true }
GET v1/credentials/user/validate
This method validate the User's
API Credentials.
Request URL
Parameters
userNamerequired |
The username of the map owner |
userKeyrequired |
The user's API key of the map owner |
Json Response
{"UserApiKey":"[userapikey]", "UserName":"[MyPinmapsUserName]", "DateCreated":"2013-03-18T14:10:27.43", "IsActive":true }
Response Codes
API Errors & Response Codes
The Pinmaps API attempts to return appropriate HTTP status codes for most of the requests; however, it is possible that there will be some instances where you will not get a response code.
Codes
200 | OK - The request succeeded and that the requested information is in the response. |
201 | Created - The request has been accepted for further processing. |
400 | BadRequest - BadRequest indicates that the request could not be understood by the server. |
401 | Unauthorized - Unauthorized indicates that the requested resource requires authentication. |
406 | NotAcceptable - Will not accept any of the available representations of the resource. |
500 | InternalServerError - Something is broken and the server cannot process the request. |
404 | NotFound - The requested resource does not exist on the server. |
Code Samples
.NET CSharp
Pinmaps.netApiClient Source Code on GitHub https://github.com/Pinmaps/Pinmaps.netApiClient |