【发布时间】:2019-04-25 21:46:02
【问题描述】:
我正在尝试制作一个 pokemonGo 风格的应用程序。 我尝试使用纬度和经度公式来计算标记(口袋妖怪)应该产生的坐标范围,但我只设法得到一个矩形区域。我想在玩家周围的圆形区域生成它们,我该怎么做?
这是我计算矩形区域的代码。
Random r = new Random();
int randomDistanceLatitude = r.nextInt(range*2) - range;
r = new Random();
int randomDistanceLongitude = r.nextInt(range*2) - range;
double latitudeDegreeToAdd = 1.7 * randomDistanceLatitude * 0.000009043717329571146924;
double longitudeDegreeToAdd = randomDistanceLongitude * (1 / (111320 * Math.cos(infoLocal.getLastKnownLocation().getLatitude())));
LatLng enemy1Location = new LatLng(infoLocal.getLastKnownLocation().getLatitude() + latitudeDegreeToAdd, infoLocal.getLastKnownLocation().getLongitude() + longitudeDegreeToAdd);
enemies[i] = mMap.addMarker(new MarkerOptions().position(enemy1Location).title("Monster").snippet("Click to Attack!").icon(BitmapDescriptorFactory.fromResource(R.drawable.enemy3)).anchor(0.5f, 0.5f));
【问题讨论】:
-
您有实际问题吗?
-
@Stultuske 正如我所说,我希望它们生成在圆形区域而不是玩家周围的矩形区域中
-
... 仍然不是问题。你到底有什么问题?
-
@Stultuske 抱歉,应该写这个,我不知道如何在圆形区域生成它们,我发布的公式可能对此无用
标签: java android dictionary area