百度地图,分块计算并计算出每个小方块的中间值作为颜色?

修改一下:

已知地图上一点A($coordinate_x,$coordinate_y)和另一点B($x,$y);点A和点B之间的距离是100米,如何求点B中的$y(或者$x),
其中$coordinate_x,$x是纬度,$coordinate_y,$y是经度,求$y(或者$x);
急需帮助。。。。。。。

阅读 2.8k
1 个回答

已知 A(x,y) 和 与 B的距离是100m,那么在不知道斜率的情况下,B的位置会组成一个圆。

如果已知A(x,y) B的x 或 y,以及距离r

那么至少有2和B点匹配

$r = 100;
假设 b.y 不存在
  1. pow(abs(a['x'] - b['x']), 2) + pow(abs(a['y'] - b['y']), 2) = pow(r, 2)

  2. pow(abs(a['y'] - b['y']), 2) = pow(r, 2) - pow(abs(a['x'] - b['x']), 2)

  3. abs(a['y'] - b['y']) = sqrt(pow(r, 2) - pow(abs(a['x'] - b['x']), 2))

  4. a['y'] - b['y'] = ± sqrt(pow(r, 2) - pow(abs(a['x'] - b['x']), 2))

如果b什么都不知道

b 点可以涵盖一个圆,

r 是两者之间距离,也就是半径

//角度转弧度

define('PI', 3.14159265358979324);
$d2r = function($d) {
    return ($d * PI) / 180;
};

//这个圆的所有坐标是:
for($i = 0; $i < 360;++$i) {
    $b['x'] = $a['x'] + $r * cos(d2r($i));
    $b['y'] = $a['y'] + $r * sin(d2r($i));
}

引用的公式

斜率公式是:

//坐标2,与坐标1形成的斜率(坐标1的x轴正方向的夹角弧度(顺时针))
//http://keisan.casio.com/exec/system/1223508685
$slope = function($p1, $p2) {
    return atan2($p2['y'] - $p1['y'], $p2['x'] - $p1['x']);
};

距离公式是

//坐标1,2 之间的距离
//http://keisan.casio.com/exec/system/1223508685
$distance = function($p1, $p2) {
        return pow(pow(abs($p2['x'] - $p1['x']), 2) + pow(abs($p2['y'] - $p1['y']), 2), 0.5);
};

我用这同一个答案,在这一个社区至少回复了3次类似的问题,莫非这个社区的SEO做的这么不好?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题