I need to add 1 km to each endpoint of the polygon. Please see what I definitely mean:

1) The inner polygon is the original polygon I (one with red dots inside and a green line as a border).
2) The outer line (blue) is the polygon I want to get by adding 1 km (or some other distance) to each endpoint of the original polygon.
How can i achieve this? Does the Google Maps API provide some special features? I do not ask for a ready-made solution, please give me advice or links where I can find additional information.
UPD 1:
@geocodezip, chainHull_2D
. , . 'polygon.setEditable(true)', .
