If it doesn't need to be 100% accurate then you can treat the circle as a square and test whether any of the four points is inside the polygon (assuming that the circle is small relatively to the polygon).
I use this in my app to determine if a vehicle is within a defined zone made of 5 or more lat/lon coordinates. Point 1 is also Point 5 (first point and last point are same value). A simple box shows how to create this: 1----------2 | ........... | | ........... | clockwise (or counter...
If it needs to be accurate or if you have more complicated shapes than a circle:
Create two bitmaps (BitmapCreator). Draw filled polygons on one. Draw filled circle or other shape on other.
For each pixel coordinate, check if there is a filled color in both bitmaps. It is surprisingly fast.
Here is the code to get 8 points around a particular position, if someone is looking for this code.
Get Circular Coordinates:
'Input >> Source Lat, Source Lon and Distance
'Output >> List with map of Lat and Lon
Sub GetPoints(lat As Double, lon As Double, d As Double) As List
Dim R As Double= 6378.1 'Radius of the Earth
Dim brng As Double
Dim returnlist As List
For angle = 0 To 360 Step 45
Dim latitude1, longitude1 As Double
Dim latitude2, longitude2 As Double
Dim lat2 As Double
Dim long2 As Double
latitude1 = lat * (cPI / 180.0)
longitude1 = lon * (cPI / 180.0)
brng = angle * (cPI / 180.0)
latitude2 = ASin(Sin(latitude1)*Cos(d/R) + Cos(latitude1)*Sin(d/R)*Cos(brng))
longitude2 = longitude1 + ATan2(Sin(brng)*Sin(d/R)*Cos(latitude1),Cos(d/R)-Sin(latitude1)*Sin(latitude2))
latitude2 = latitude2 * (180/cPI)
longitude2 = longitude2 * (180/cPI)
lat2 = Round2 (latitude2,6)
long2 = Round2 (longitude2,6)
' Log(lat2 & "," & long2)